Windows 下使用 docker 搭建多套开发环境,nginx 端口冲突怎么解决

在本地开发机使用 docker 为多个项目搭建开发环境。其中一个项目的 nginx 容器用了 80 端口后其他 nginx 容器只能改用其他端口。
原本的想法是使用本地的nginx服务,然后本地 ngixn 连接到 php 容器。例如 php 容器开放 9001 端口,本地 nginx 做如下配置

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9001;
    }

但是访问之后响应 404.
这是因为本地的项目路径和php容器中的项目路径不同。
大家有什么好的办法吗

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
KayuHo
最佳答案

只做转发ng可以不配项目目录呀

2年前 评论
liuyuit (楼主) 2年前
讨论数量: 5

端口映射docker run -it --name nginx -p 80:80 -p参数冒号前面的是宿主机的,后面是容器的

2年前 评论
liuyuit (楼主) 2年前
dabour (作者) 2年前
liuyuit (楼主) 2年前

容器是独立的,端口不冲突,冲突的是你本机下的端口,按楼上说的容器的80都映射到你本机不同的端口就行了

2年前 评论
KayuHo

只做转发ng可以不配项目目录呀

2年前 评论
liuyuit (楼主) 2年前
Flex

都用80可以并存,laradock本身就支持多站点,不同的站点绑定域名即可,比如a项目绑定a.test b项目绑定b.test。最后修改hosts文件指向本地即可。

2年前 评论

端口一个域名可以多个啊

2年前 评论
liuyuit (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!