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

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

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

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

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
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年前

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