繁体   English   中英

使用php5-fpm的docker容器连接主机nginx和msql

[英]Connect host nginx and msql with a docker container of php5-fpm

我有一个与Nginx / MySQL和php5-fpm一起运行的旧版Wordpress安装,我必须将其移至具有php7-fpm的最新VPS。

我想利用已经安装了Nginx / MySQL的新主机VPS,并安装并使用一个容器来管理php5请求。

我从Docker Hub提取了官方的php5-fpm映像

docker pull php:5.6-fpm-alpine

...然后我运行映像,将映像重新映射到php5-fpm正在侦听的端口9000,并挂载wordpress根文件夹(对此不确定)和mysql套接字,不带-d标志以查看实时日志:

docker run --name phpFpm5.6 -p 127.0.0.1:9999:9000 -v /home/ubuntu/www/html:/var/www/html -v /var/run/mysqld/mysqld.sock:/tmp/mysql.sock php:5.6-fpm-alpine

这是控制台日志:

[21-Aug-2017 12:36:19] NOTICE: fpm is running, pid 1
[21-Aug-2017 12:36:19] NOTICE: ready to handle connections
172.17.0.1 -  21/Aug/2017:12:37:09 +0000 "GET /index.php" 404
172.17.0.1 -  21/Aug/2017:12:39:30 +0000 "GET /index.php" 404

当我从浏览器请求索引页时,得到了404(未找到)响应。

Nginx指令:

location ~ \.php$ {
  try_files $uri =404;
  fastcgi_split_path_info ^(.+\.php)(/.+)$;
  fastcgi_pass 127.0.0.1:9999;
  fastcgi_index   index.php;
  include fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

任何线索都非常感谢。

提前致谢。

最好,卢卡

将容器视为远程服务器。 现在,您正在执行的端口映射9999:9000告诉docker将主机上的端口号9999连接到容器的端口号9000

现在,在您的nginx指令(在容器中运行的指令)中,您将重定向到9999 相反,它应该是9000

根据您的方案,容器的所有资源都在端口9999 ,但主机不能访问容器的端口9999

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM