在前面我们在docker内搭建了PHP+Nginx开发环境;
但是在一次重启机器之后,发现原先配置的项目502错误;
查看PHP日志是:
connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: docker.093.net.cn, request: "GET / HTTP/1.1", upstream: "fastcgi://172.17.0.2:9000"
明显看到fastcgi不能正常链接。
此时我们看下PHP容器IP是否发生改变:
docker inspect --format='{{.NetworkSettings.IPAddress}}' php-fpm
运行结果:172.17.0.3,果然与我们Nginx 配置不一致,重启之后容器IP发生了改变导致的。
解决办法:
- 修改nginx配置ip
- 重新运行容器,执行参数 --link
docker run --name php-fpm \
-p 9000:9000 \
-v ~/mnmp/php/conf:/usr/local/etc/php/conf.d \
-v ~/mnmp/wwwroots:/data/wwwroots \
--privileged=true \
--link 172.17.0.3
-it \
-d \
php:7.3-fpm
这样重启之后IP也不会发生改变。