0

我有一个带有 2 个容器的 docker,用于为单个站点和 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 容器都有一个 vhost 文件,并使用第四个共享 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-proxy 容器和网络,我已经删除了示例第二个 nginx 容器)

4

0 回答 0