Dockerを使って別のAlpineコンテナで動作するNginxとPHP-FPMを使ってDockerのコンポジションをセットアップしようとしています。DockerのNginxでPHP-FPMを接続する
version: '3'
services:
alpine_nginx:
build: ./nginx
container_name: alpine_nginx
links:
- alpine_php
ports:
- "80:80"
alpine_php:
build: ./php
container_name: alpine_php
ports:
- "9000:9000"
を、私は成功したイメージを構築することができるよ、と私は私のブラウザではlocalhostを訪問するとき、私は見ることができます:私のセットアップは、次のように私のドッキングウィンドウ-compose.ymlが見え、https://github.com/sparkbuzz/lemp_dockerでGitHubの上で提供されていますindex.htmlはNginxによって提供されました。私は502を取得し、phpinfo.phpにアクセスしようとしたときただし、 - 不正なゲートウェイエラー
私は両方の実行中のインスタンスへdocker exec -it ... /bin/ash
をすることができ、サービスは喜んで実行されているようだが、しかし、それは明らかPHP-FPMのですポート9000は決してヒットしません。ここで
は私のコンソールからいくつかのフィードバックです:
Recreating alpine_php ...
Recreating alpine_php ... done
Recreating alpine_nginx ...
Recreating alpine_nginx ... done
Attaching to alpine_php, alpine_nginx
alpine_php | [06-Nov-2017 21:46:39] NOTICE: fpm is running, pid 1
alpine_php | [06-Nov-2017 21:46:39] NOTICE: ready to handle connections
alpine_nginx | 2017/11/06 21:46:46 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://172.20.0.2:9000", host: "localhost"
alpine_nginx | 172.20.0.1 - - [06/Nov/2017:21:46:46 +0000] "GET /index.php HTTP/1.1" 502 568 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"```
nginxのは、PHPの上流に満足していない理由を私はとても近く、しかし、よく分かりません。 Nginxの設定は次のとおりです:
server {
listen 80;
server_name localhost;
location/{
root /var/www/localhost/htdocs/;
index index.html;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass alpine_php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
NginxはどのようにしてPHP FPMと会話できますか?
にこれを追加しますか? – miknik