前提・実現したいこと
Dockerを用いて、開発環境を構築しようとしています。
appコンテナ、dbコンテナ、webコンテナの3つのコンテナを使用したいです。
※AWSのEC2でAmazonLinuxを使用した際、というのを想定した環境を作りたいです。
発生している問題・エラーメッセージ
docker-compose up -dを実行し、docker-compose psで確認すると
=> Exit 1となり、起動しない
=> app、dbのコンテナは立ち上がっている
$ docker-compose up -d Creating nayamitter2_db_1 ... done Creating nayamitter2_app_1 ... done Creating nayamitter2_web_1 ... done $ docker ps Name Command State Ports --------------------------------------------------------------------------------- nayamitter2_app_1 bundle exec puma -C config ... Up nayamitter2_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp nayamitter2_web_1 /docker-entrypoint.sh /bin ... Exit 1
該当のソースコード
- Dockerfile(web用)
FROM nginx:1.19.10 RUN rm -f /etc/nginx/conf.d/* ADD nginx.conf /etc/nginx/conf.d/nayamitter2.conf CMD /usr/sbin/nginx -g 'daemon off;' -c /etc/nginx/nginx.conf
- nginx.conf
1 upstream nayamitter2 { 2 server unix:///var//www/nayamitter2/tmp/sockets/puma.sock; 3 } 4 5 server { 6 listen 80; 7 server_name localhost; 8 9 access_log /var/log/nginx/access.log; 10 error_log /var/log/nginx/error.log; 11 12 location ~ ^/assets/ { 13 root /var/www/nayamitter2/public; 14 } 15 16 client_max_body_size 100m; 17 error_page 404 /404.html; 18 error_page 505 502 503 504 /500.html; 19 try_files $uri/index.html $uri @nayamitter2; 20 keepalive_timeout 5; 21 22 location / { 23 proxy_set_header X-Real-IP $remote_addr; 24 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 25 proxy_set_header Host $http_host; 26 proxy_pass http://nayamitter2; 27 } 28 }
- docker-compose.yml
1 version: '3' 2 services: 3 app: 4 build: 5 context: . 6 command: bundle exec puma -C config/puma.rb 7 8 volumes: 9 - .:/nayamitter2 10 - public-data:/nayamitter2/public 11 - tmp-data:/nayamitter2/tmp 12 - log-data:/nayamitter2/log 13 networks: 14 - nayamitter2-network 15 depends_on: 16 - db 17 18 db: 19 image: mysql:5.7 20 environment: 21 MYSQL_ROOT_PASSWORD: password 22 MYSQL_USER: user 23 MYSQL_PASSWORD: password 24 MYSQL_DATABASE: nayamitter2_development 25 volumes: 26 - db-data:/var/lib/mysql 27 networks: 28 - nayamitter2-network 29 30 web: 31 build: 32 context: containers/nginx 33 volumes: 34 - public-data:/nayamitter2/public 35 - tmp-data:/nayamitter2/tmp 36 ports: 37 - 80:80 38 depends_on: 39 - app 40 networks: 41 - nayamitter2-network 42 43 volumes: 44 public-data: 45 tmp-data: 46 log-data: 47 db-data: 48 49 networks: 50 nayamitter2-network: 51 external: true
試したこと
- ttyをtrueにする
=> docker runでの-itに相当するものなので、これを付加 => 起動せず
気になること
docker-compose upの結果、webサーバーに関するログは下記の通り返ってきます。
エラーではありませんが、これが原因で起動しないということも考えられますでしょうか?
エラーを読むと/etc/nginx/conf.d/nayamitter2.confの30行目に問題がありそうですが、どうやってファイルの中に入ればいいのか分かりませんでした。
初歩的なことで申し訳ございませんが、ご教示いただけますと幸いです。
web_1 | 2021/06/29 14:11:37 [emerg] 9#9: unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/nayamitter2.conf:30 web_1 | nginx: [emerg] unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/nayamitter2.conf:30 nayamitter2_web_1 exited with code 1
実行環境
macOs Catalina 10.15.7
Nginx 1.19.10
Rails 6.1.3.2
Ruby 3.0.0p0
docker 20.10.7
Dockerに詳しい方のご助言をいただけますと幸いです。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/30 09:47