前提・実現したいこと
DockerでPHP+Apache+PostgresSQL+scssの仮想環境を作りたい。
発生している問題・エラーメッセージ
docker-compose.ymlに下記のように書き、ターミナルでdocker-compose up -d
しました。testapp-dbとtestapp-scssはコンテナが起動するのですが、testapp-webは起動はしてもすぐにダウンしてしまいます。
testapp-webのlogにはSwitch to inspect mode.
とでています。
該当のソースコード
dir
1host 2 ├ docker/ 3 │ ├ initdb/ 4 │ │ └ articles.sql 5 │ │ 6 │ ├ testapp-web/ 7 │ │ └ Dockerfile 8 │ │ 9 │ └ docker-compose.yml 10 │ 11 └ html/ 12 └ index.php 13
yml
1version: "3" 2 3services: 4 #PHP + Apache 5 testapp-web: 6 container_name: testapp-web 7 build: 8 context: ./testapp-web/ 9 dockerfile: Dockerfile 10 volumes: 11 - ../html:/var/www/html 12 ports: 13 - "80:80" 14 15 #PostgresSQL 16 testapp-db: 17 container_name: testapp-db 18 image: postgres:12 19 environment: 20 - POSTGRES_DB=testdb 21 - POSTGRES_USER=postgres 22 - POSTGRES_PASSWORD=mkpost621 23 volumes: 24 - ./initdb:/docker-entrypoint-initdb.d 25 ports: 26 - "5432:5432" 27 28 #SASS 29 testapp-scss: 30 container_name: testapp-scss 31 build: ./testapp-web/ 32 volumes: 33 - ../html/styles:/var/www/scss 34 stdin_open: true 35 tty: true
Dockerfile
1 2FROM php:7.4-apache 3 4RUN apt-get update && apt-get install -y libpq-dev && docker-php-ext-install pdo pdo_pgsql pgsql 5 6FROM ruby:3.0.0 7 8RUN gem install sass 9
試したこと
docker-compose.ymlのports: -"80:80"
の後にstdin_open: true
を追加しdocker-compose up -d
したところ、コンテナは起動するのですが、web(Chrome)で開こうとしたところERR_CONNECTION_REFUSED
とでてページを開けませんでした。
いろいろ調べてみたのですがうまくいきませんでした。なにか見落としているところまたは考えられる原因などがあればアドバイスをいただけないでしょうか。
プログラミング初心者のため稚拙な文章はご容赦ください。よろしくお願いします。
補足情報(FW/ツールのバージョンなど)
Mac
Chrome
Docker version 20.10.2, build 2291f61
###追記
コンテナ一覧を確認したところ該当のコンテナのSTATUSに「Exited(0)20 second ago」と表示されています。"docker start"してもすぐにストップされてしまう状態です。
回答2件
あなたの回答
tips
プレビュー