docker 新手,想试一下在 docker 里安装 web 服务器,docker+nginx+php+mariadb 。
一,nginx 能正常安装,可以访问 html 页面
docker run \
--name nginx \
-d -p 80:80 \
-v /var/www/html:/usr/share/nginx/html \
-v /usr/local/etc/nginx:/etc/nginx \
nginx
二,安装 php 如下
docker run \
--name php81 \
-v /var/www/html:/var/www/html \
php:fpm
三,nginx 里的配置,就是 fastcgi_pass 这里,怎么都搞不定
location ~ \.php$ {
fastcgi_pass php81:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
请问一下,两个容器之间怎么通信?就是把 php 的通信端口传到 nginx 里面,让 nginx 可以解析 php ?现在访问 php 文件,是下载模式,不是解析模式。
1
xiancai 2022-09-15 10:09:47 +08:00
不在一个命名空间下,没有办法用 php81 解析到目的地址的,可以指定网络模式为 host ,共享主机,将 php81 指定到宿主机
|
2
nbweb OP |
4
wdssmq 2022-09-15 11:08:25 +08:00
# 创建网络
docker network create -d bridge net_web # run 命令里带上: --net=net_web \ 感觉还是 bridge 模式科学一些, |
5
julyclyde 2022-09-15 12:26:38 +08:00
本来没啥问题,非要加个 docker
|
6
iwh718 2022-09-15 12:59:36 +08:00 via Android
用 172
|