docker compose中nginx多主机间的通信
我有一个docker的作品是这样的:docker compose中nginx多主机间的通信,docker,nginx,docker-compose,Docker,Nginx,Docker Compose,我有一个docker的作品是这样的: version: "3" networks: LEMP: services: nginx: image: nginx:latest ports: - "8080:80" - "80:80" - "443:443" - "3333:3333" volumes: - /var/www:/var/www - ./nginx-conf/server1.loca
version: "3"
networks:
LEMP:
services:
nginx:
image: nginx:latest
ports:
- "8080:80"
- "80:80"
- "443:443"
- "3333:3333"
volumes:
- /var/www:/var/www
- ./nginx-conf/server1.local.conf:/etc/nginx/conf.d/server1.local.conf
- ./nginx-conf/server2.local.conf:/etc/nginx/conf.d/server2.local.conf
depends_on:
- php
networks:
- LEMP
extra_hosts:
- "server1.local:127.0.0.1"
- "server2.local:127.0.0.1"
php:
build: ./php
restart: always
volumes:
- /var/www:/var/www
ports:
- "9000:9000"
networks:
- LEMP
mysql:
image: mysql:5.7
restart: always
ports:
- "3306:3306"
depends_on:
- nginx
environment:
- MYSQL_ROOT_PASSWORD=my_password
volumes:
- db:/var/lib/mysql
networks:
- LEMP
redis:
image: redis:alpine
restart: always
ports:
- "6379:6379"
networks:
- LEMP
volumes:
db:
PHP Dockerfile:
FROM php:7.1-fpm
RUN docker-php-ext-install pdo pdo_mysql
WORKDIR /var/www
如果我尝试从浏览器/邮递员访问server1.local或server2.local,它可以正常工作,但是如果我尝试从server1.local访问server2.local(restapi),它无法访问它
我读过,但当然不能使用我的PC IP,因为配置将共享给其他同事。我知道nginx代理,但最后一个需要在项目所在的位置设置其他服务,但在我的例子中,我只有存储在/var/www/中的git项目,所以我应该如何从/var/www中的文件夹开始设置它们?例如,server2.local同时具有php和本地主机(localhost:3333)的内部反向代理。我应该从php映像开始,安装node.js/pm2,运行它们吗?这对我来说似乎有点奇怪。您想用server1和server2实现什么?如果您有3个节点(nginx、server1、server2)应该协同工作,为什么不将这三个节点放在同一个docker compose中,在同一个网络中,它们将通过服务名称相互看到?它们在同一个网络中,同一个docker compose和同一个“服务”(nginx),如上面的示例所示。他们只是nginx的主机。server1.local.conf读取“server1.local”和“server2.local.conf读取”server2.local“。如果我不能更好地解释自己,看看这个讨论,他也有同样的问题:他们不在同一个docker compose文件中。从你发布的内容来看,你有单独的文件处理php,对吗?我现在已经阅读了您列出的讨论,我的问题与这一部分直接相关:“您可以通过docker compose和容器的“命名”网络使这一点变得更容易…”引用的讨论。在我看来,您处于相同的位置,好像您有需要通信的数据库+api容器=>命名服务,相同网络,相同docker compose=>它们通过服务名称彼此看到…它仅从我的docker compose中提取了该部分,请原谅。我用完整的docker-compose更新了它。您需要使用中讨论的别名