質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

1回答

2000閲覧

Dockerfileで複数のWORKDIRを使用する場合

kodokuna_dancer

総合スコア7

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2020/07/06 15:23

編集2022/01/12 10:55

前提

現在、Laravelで作ったアプリをECSへデプロイしようとしている段階です。
ディレクトリ構成は以下のようになっています。
イメージ説明

質問したいこと

・CMDコマンドだけ作業ディレクトリの場所を変えたい場合、WORKDIRの記載場所はどこが適切なのか。(WORKDIRの記載ルールが分かりません)

以下のように設定したところ、コンテナ内ではintro-appフォルダの中身が空になってしまいました。

Dockerfile

FROM php:7.4.1-fpm COPY install-composer.sh / RUN apt-get update \ && apt-get install -y wget git unzip libpq-dev \ && : 'Install Node.js' \ && curl -sL https://deb.nodesource.com/setup_12.x | bash - \ && apt-get install -y nodejs \ && : 'Install PHP Extensions' \ && docker-php-ext-install -j$(nproc) pdo_pgsql \ && : 'Install Composer' \ && chmod 755 /install-composer.sh \ && /install-composer.sh \ && mv composer.phar /usr/local/bin/composer WORKDIR /var/www/html/intro-app COPY . . WORKDIR /var/www/html/intro-app/web CMD ["php","artisan", "serve", "--host", "0.0.0.0", "--port", "8081"]

docker-compose.yml

version: '3' services: intro-app_web: build: . volumes: - ./web:/var/www/html/intro-app ports: - 8081:8081

`

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

docker-compose.yml:

yaml

1 volumes: 2 - ./web:/var/www/html/intro-app

上記の箇所を次のように修正します:

yaml

1 volumes: 2 - ./web:/var/www/html/intro-app/web

検証:

console

1$ docker-compose run --rm intro-app_web bash 2Creating network "test-php_default" with the default driver 3root@4465ebaacdd5:/var/www/html/intro-app/web# ls -la 4total 4 5drwxrwxrwx 1 root root 0 Jul 6 16:24 . 6drwxr-xr-x 1 root root 4096 Jul 6 16:23 .. 7-rwxr-xr-x 1 root root 0 Jul 6 16:24 test.txt 8root@4465ebaacdd5:/var/www/html/intro-app/web# ls -la ../ 9total 24 10drwxr-xr-x 1 root root 4096 Jul 6 16:23 . 11drwxrwxrwx 1 www-data www-data 4096 Jul 6 16:23 .. 12-rwxr-xr-x 1 root root 633 Jul 6 16:13 Dockerfile 13-rwxr-xr-x 1 root root 139 Jul 6 16:21 docker-compose.yml 14-rwxr-xr-x 1 root root 461 Jul 6 16:18 install-composer.sh 15-rwxr-xr-x 1 root root 285 Jul 2 07:05 test.php 16drwxrwxrwx 1 root root 0 Jul 6 16:24 web

投稿2020/07/06 16:27

y_shinoda

総合スコア3272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kodokuna_dancer

2020/07/06 21:51

回答ありがとうございます! しかし、うまくいきませんでした、、、 何か別の問題がありそうです そもそもコピーがなぜかうまくいかないよいです、、、
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問