我有一个像这样的docker-compose:
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(REST api),则无法访问。 / p>
我读了this discussion,但由于配置将共享给其他同事,因此我当然不能使用PC IP。
我知道nginx-proxy,但是这最后一个需要在项目所在的地方设置其他服务,但是在我的情况下,我只有git项目存储在/ var / www /中,所以我应该如何从/ var /中的文件夹开始设置它们万维网?例如,server2.local同时具有php和用于本地主机(localhost:3333)的内部反向代理。我应该从php映像开始,安装node.js / pm2,然后运行它们等等吗?对我来说似乎有点奇怪。