###前提・実現したいこと
お世話になっております。
Dockerを用いて、LAMP環境を作成しようとしております。
アプリ用コンテナ(Apache+PHP)とDB用コンテナの2つのコンテナを使用して構築したいです。
※AWSのEC2でAmazonLinuxを使用した際、というのを想定した環境を作りたいです。
ゆくゆくはScality S3Server
もくっつけてS3を想定した環境も使えるようにしたいですが、一旦まずはちゃんと動くLAMP環境を構築したく。
###発生している問題・エラーメッセージ
docker-compose
を実行した際、アプリ用のコンテナが起動しない
=> Exited(0)
となり、起動しない
=> DB用のコンテナは立ち上がっている
bash
1$ docker-compose up -d 2Creating gupsearch_db_1 ... done 3Creating gupsearch_db_1 ... 4Creating gupsearch_app_1 ... done 5$ 6$ docker ps 7CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 87c90c79911f2 mysql:latest "docker-entrypoint.s…" 3 seconds ago Up 5 seconds 3306/tcp gupsearch_db_1 9$ 10$ docker ps -a 11CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 12ef1e2e449b32 gupsearch_app "/bin/sh -c 'service…" 14 seconds ago Exited (0) 15 seconds ago gupsearch_app_1 137c90c79911f2 mysql:latest "docker-entrypoint.s…" 14 seconds ago Up 16 seconds 3306/tcp gupsearch_db_1 14$ 15$ docker-compose logs | grep app_1 16Attaching to gupsearch_app_1, gupsearch_db_1 17app_1 | Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3 for ServerName 18app_1 | [ OK ] 19$
docker-compose logs
の結果、特にエラーが出ているわけでもなさそうです。。
###該当のソースコード
- docker-compose.yml
yaml
1version: '2' 2services: 3 db: 4 image: "mysql:latest" 5 environment: 6 MYSQL_ROOT_PASSWORD: root1234 7 MYSQL_DATABASE: test_db 8 MYSQL_USER: app 9 MYSQL_PASSWORD: app1234 10 app: 11 build: ./docker/app/ 12 ports: 13 - "80:80" 14 expose: 15 - "9000" 16 links: 17 - db 18 volumes: 19 - ./src:/var/www/html 20 stdin_open: true 21 tty: true
※9000番ポートはXDebug用に開けています。
- ./docker/app/Dockerfile
Dockerfile
1FROM amazonlinux:latest 2RUN rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm \ 3 && yum -y update \ 4 && yum -y install httpd \ 5 mod_php71w \ 6 php71w-opcache \ 7 php71w-cli \ 8 php71w-common \ 9 php71w-devel \ 10 php71w-mbstring \ 11 php71w-mysql \ 12 php71w-pdo \ 13 php71w-pear \ 14 php71w-pecl-redis \ 15 php71w-pecl-xdebug \ 16 php71w-xml \ 17 && chkconfig httpd on 18ENTRYPOINT service httpd start
###試したこと
stdin_open
とtty
をtrue
にする
=> docker run
での-it
に相当するものなので、これを付加 => 起動せず
cf. https://stackoverflow.com/questions/36249744/interactive-shell-using-docker-compose
###補足情報(言語/FW/ツール等のバージョンなど)
- 実行時は
docker-compose build
=>docker-compose up -d
としています。 docker-compose
せず、地道にdocker build
=>docker run -it
とした時は、問題無くApacheのテスト画面が表示されました。
###実行環境
- macOS 10.13.2 High Sierra
- Docker CE For Mac
$ docker -v Docker version 17.12.0-ce, build c97c6d6
- VirtualBoxは入っていません。
(特に入れるよう指示もされていませんし、Requirementsにも記載が無かったかと。)
今まで、WindowsのHyper-Vで動くDocker For Windowsでやっていて、こんなことは一度も起きたことがありませんでした。
stdin_open
やtty
オプションは今回初めて使用したくらいです。
Macに移ってきて、さっそく躓いているので、Dockerに詳しい方の助言を頂けますと幸いです。
どうぞよろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。