gpt4 book ai didi

php - Docker:不同端口上的多个 PHP7-FPM 容器

转载 作者:可可西里 更新时间:2023-10-31 23:46:19 26 4
gpt4 key购买 nike

我正在为我的本地开发环境使用 Docker。我现在的设置是 5 个容器(1 个 HaProxy + 2 个 NGINX + 2 个 PHP7-FPM)。

代理容器用于根据 url 定向请求,所以如果我输入 http://project1.dev 它会将请求代理到 project1-nginx 使用 project1-php 评估 php。 http://project2.dev 的设置类似。

现在,我正在努力思考这两个 php 容器的端口。默认的 fpm 端口是 9000,所以这两个 php 容器都不能运行。我假设去这里的方法是让两个容器都导出端口 9000,但在主机上将它们设为 9000 和 9001?

我的撰写文件中的这些内容。

project_1_php:
ports:
- "9000:9000"
project_2_php:
ports:
- "9001:9000"

所以,一切正常启动,项目 1 正在运行,但项目 2 给了我一个 502。Nginx 错误日志说

2016/01/26 14:37:05 [error] 6#6: *1 connect() failed (111: Connection refused) 
while connecting to upstream, client: 172.17.0.9, server: code.dev,
request: "GET / HTTP/1.1", upstream: "fastcgi://172.17.0.4:9001"

最佳答案

对于那些看起来像我为不同项目同时运行多个 NGINX 和 PHP-FPM 容器并找到这个 SO 线程的人,遇到了这个:

https://github.com/docker-library/php/issues/479

在 php-fpm Dockerfile 中:

FROM php:7.2-fpm
RUN sed -i 's/9000/3001/' /usr/local/etc/php-fpm.d/zz-docker.conf

然后在您的 docker-compose.yaml 文件中,您可以将 Nginx 指向该 PHP-FPM 实例的特定端口。

关于php - Docker:不同端口上的多个 PHP7-FPM 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35016435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com