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

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

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

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

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
KayuHo
最佳答案

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

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

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

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

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

4年前 评论
KayuHo

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

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

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

4年前 评论

端口一个域名可以多个啊

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

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