悩みポイント
現在、Laravelで作ったアプリをECSにデプロイしようとしている段階です。
データベースにはRDSを使用しようと考えています。
RDSにてデータベースを作成し、EC2からRDSに接続できるところまで完了しました。
次は、EC2内のコンテナ内のlaravelのenvファイルを編集(データベースの接続先をRDSのデータベース先に編集)し「docker-compose up」をするのではないかと考えているのですが、うまく反映されずここで悩んでいます。通常どのようにして対処するのでしょうか?(debian)
試したこと
1 EC2のコンテナに入り、直接編集した
laravelの.envファイルを直接編集したが、反映されなかった。コンテナ内でdocker-compose up
をしなければならないと思い、コンテナ内にdockerとdocker-composeをインストールしようと試みるも、それに必要なものがコンテナ内になかったり、
sudo service docker start
エラー mkdir: cannot create directory 'net_cls': Read-only file system
などのエラーと戦い中、、、そもそもこんなこと普通するのか、、、
2 バインドマウントを試みる
2-1 docker-compose.ymlのvolumes
以下のようにdocker-compose.ymlを設定しているのですが、ホスト側でファイルを編集してもEC2のコンテナ内のファイルには反映されません。。。
docker-compose.yml
version: '3' services: intro-app_web: build: . volumes: - ./web:/var/www/html/intro-app/web ports: - 8081:8081 - 3000:3000
2−2 タスク定義でボリューム設定
なので、タスク定義にボリュームの設定という箇所があったので以下のように編集してみましたが、タスクが落ちてしまい、反映もされませんでした。。。
この2つのマウントの仕方の違いは何なのでしょうか?
補足
ちなみに、プロジェクトフォルダは以下の構成になっています。webフォルダの中にlaravelのファイル群が入っています。
intro-appフォルダ
Dockerfile composer.lock docker-compose.yml install-composer.sh web
composer.json database get-pip.py vendor
一応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 . . CMD ["php","artisan", "serve", "--host", "0.0.0.0", "--port", "8081"]
アドバイスしてくださる方いれば、よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/04 17:30
2020/07/04 22:50
2020/07/06 15:27