前提・実現したいこと
docker-compseを使わずに、docker network create
を利用してnginxとphp (laravel) の環境を作ろうとしています。
発生している問題・エラーメッセージ
http://127.0.0.1:10080/
にアクセスすると502が返ってきて、以下のようなエラーログが出ます。
fastcgiでのコンテナ間通信がうまくいっていないとは思うんですが、どうすればいいかわかりません。。。
どのようにソースコードを修正すればよいでしょうか?
connect() failed (111: Connection refused) while connecting to upstream, client: 172.29.0.1, server: , request: "GET / HTTP/1.1", upstream: "fastcgi://172.29.0.2:9000", host: "127.0.0.1:10080"
###実行したコマンド
実行したコマンドは以下の通りです。
$ docker network create my_network $ docker run --rm -itd --name app --net my_network laravel-app/php-fpm /bin/sh $ docker run -d --net my_network -p 10080:80 --name web laravel-app/nginx
該当のソースコード
nginx
Dockerfile
1FROM nginx:1.17-alpine 2 3ENV TZ="Asia/Tokyo" 4COPY ./docker/nginx/default.conf /etc/nginx/conf.d/default.conf 5COPY ./src /work 6 7VOLUME logs:/var/log/nginx 8 9EXPOSE 10080
default.conf
1server { 2 listen 80; 3 root /work/public; 4 index index.php; 5 charset utf-8; 6 7 location / { 8 root /work/public; 9 try_files $uri $uri/ /index.php$is_args$args; 10 } 11 12 location ~ .php$ { 13 fastcgi_split_path_info ^(.+.php)(/.+)$; 14 fastcgi_pass app:9000; # 127.0.0.1:9000;にしてもダメでした。 15 fastcgi_index index.php; 16 include fastcgi_params; 17 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 18 fastcgi_param PATH_INFO $fastcgi_path_info; 19 } 20}
php
Dockerfile
1FROM php:7.3-fpm-alpine 2 3ENV TZ="Asia/Tokyo" 4 5WORKDIR /work 6COPY ./docker/php/php.ini /usr/local/etc/php/php.ini 7COPY ./src . 8 9RUN set -eux && \ 10 apk add --update-cache --no-cache --virtual=.build-dependencies tzdata && \ 11 cp /usr/share/zoneinfo/${TZ} /etc/localtime && \ 12 apk del .build-dependencies && \ 13 docker-php-ext-install bcmath pdo_mysql && \ 14 curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer && \ 15 composer config -g repos.packagist composer https://packagist.jp && \ 16 composer global require hirak/prestissimo && \ 17 composer install && \ 18 cp .env.example .env && \ 19 php artisan key:generate && \ 20 chmod -R a+w storage/ bootstrap/cache 21 22VOLUME logs:/var/log/php 23 24EXPOSE 9000
php.ini
1error_reporting = E_ERROR | E_WARNING | E_PARSE | E_NOTICE 2display_errors = stdout 3display_startup_errors = on 4log_errors = on 5error_log = /var/log/php/php-error.log 6upload_max_filesize = -1 7memory_limit = -1 8post_max_size = 100M 9max_execution_time = 900 10max_input_vars = 100000 11default_charset = UTF-8 12 13[Date] 14date.timezone = ${TZ} 15 16[mbstring] 17mbstring.language = Japanese
補足情報(FW/ツールのバージョンなど)
Docker version 19.03.8, build afacb8b
ProductName: Mac OS X
ProductVersion: 10.15.1
BuildVersion: 19B2106
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。