我想为同一网络下的多个项目设置本地 DOCKER 环境。我想拥有将创建 Nginx 代理和 PHP 容器的主要 docker-compose 配置文件。还有许多带有自己的 Nginx 的子 docker-compose 文件。我希望所有子 Nginx 容器都监听主 PHP 容器。但由于某种原因,子 Nginx 容器因错误而失败host not found in upstream "app-php" in /etc/nginx/vhost.d/site.cong25
主要docker-compose:
version: '3.5'
services:
app-nginx_proxy:
build: ./nginx-proxy
image: app/nginx-proxy:latest
container_name: app-nginx_proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
- appnetwork
app-php:
image: app/php:latest
container_name: app-php
build:
context: ./php-fpm
dockerfile: Dockerfile
expose:
- 9000
volumes:
- app_volume:/var/www/
networks:
- appnetwork
volumes:
app_volume:
driver: local
driver_opts:
type: bind
device: "$PWD/../services"
o: bind
networks:
appnetwork:
driver: bridge
和孩子docker-compose:
version: '3.5'
services:
app-admin-nginx:
build: ./nginx
image: app-admin/nginx:latest
container_name: app-admin-nginx
volumes:
- app_admin_volume:/var/www/app-admin
networks:
appnetwork:
aliases:
- app-admin.v2.local
environment:
- VIRTUAL_HOST=app-admin.v2.local
volumes:
app_admin_volume:
driver: local
driver_opts:
type: bind
device: "$PWD/../services/app-admin"
o: bind
networks:
appnetwork:
external: true
还有,site.conf:
server {
listen 80;
server_name app-admin.v2.local;
root /var/www/app-admin/web;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_log /var/log/nginx/abboom_admin_error.log;
access_log /var/log/nginx/abboom_admin_access.log;
error_page 404 /index.php;
如果我将所有配置移动到单个docker-compose文件中,一切正常,但使用单个文件并不灵活,因为我想为开发人员添加仅运行他们需要的应用程序而不是我们拥有的所有应用程序的能力
忽然笑
千万里不及你
随时随地看视频慕课网APP