我有一个带有2个容器的码头工人,分别为各个站点和jwilder / nginx-proxy提供服务。
但是我只能得到默认的nginx页面,所以虚拟主机的路由不正确。
我已经使用https://www.rent-a-hero.de/wp/2017/06/09/use-j-wilders-nginx-proxy-for-multiple-docker-compose-projects/作为指导,因此我开始着手此事,因为我想建立代理网络。
每个服务的nxinx容器都有一个虚拟主机文件,并使用第4个共享的php容器(两个nginx容器中的代码相同)。
$ docker run -d \
--name nginx-proxy \
-p 80:80 \
--network=nginx-proxy \
-v /var/run/docker.sock:/tmp/docker.sock:ro \
jwilder/nginx-proxy
/docker-compose.yml
version: '2'
services:
app-admin:
image: nginx:latest
container_name: app-admin
environment:
VIRTUAL_HOST: admin.app.local
VIRTUAL_PORT: 80
volumes:
- .:/var/www/html
- admin.app.conf:/etc/nginx/vhost.d/admin.app.local:ro
links:
- php
php:
image: php:7-fpm
container_name: php
volumes:
- .:/var/www/html
networks:
default:
external:
name: nginx-proxy
/admin.app.conf:
server {
server_name admin.app.local
listen 80;
listen [::]:80;
root /var/www/html;
index index.html index.php;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ /\.ht {
deny all;
}
}
app.conf在此测试阶段基本相同...结果相同
为帮助简化问题而对原始文件进行了编辑(删除的文件基本上只是设置了所需的nginx代理容器和网络,而我删除了第二个nginx容器示例)