
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 |