docker自定义网络下 :不同容器的nginx通过容器名称相互访问PHP项目

场景:每个服务都有自己运行的一套环境,分别都有自己的nginx ;我们像用A容器的Nginx 的项目访问到B容器下的nginx项目内容,并且在自定义的网络下面

首先我们可以自定义一个网络:docker默认桥接:

docker network create apollo_network

然后运行你得容器,指定网络:(--network apollo_network 参数)

比如:

docker run -v E:\web\sheng\core\timetracker:/var/www/html -p 8181:8080 -d --network apollo_network --name apollo_core registry.git.asc-vision.de/sheng/apollo_core

docker run -v E:\web\sheng\tt\tm-timetracker:/var/www/html -p 8282:80 -d --network apollo_network --name apollo_timetracker_module  registry.git.asc-vision.de/sheng/apollo_timetracker_module

然后我用第一个访问第二个:

docker自定义网络下 :不同容器的nginx通过容器名称相互访问PHP项目_第1张图片

为什么记录这个呢。是因为我之前一直用的nginx 默认的80端口,使用容器名称或者ip的时候 都可以ping通,但是我的nginx配置PHP项目的入口文件是在nginx默认的项目文件路径(var/www/html)的 public下面(index);出现了一个情况:curl对方容器的时候一直访问的是根目录(var/www/html),并没有访问到(var/www/html/public),nginx 的配置好像失去了作用,所以我换了端口就解决了这个问题,

nginx的配置:

docker自定义网络下 :不同容器的nginx通过容器名称相互访问PHP项目_第2张图片

但是今天我也并没有发现这个问题使用80导致这个问题的原因所在……

你可能感兴趣的:(docker,nginx,容器)