У меня есть докер с 2 контейнерами для обслуживания отдельных сайтов и jwilder / nginx-proxy перед ними.
Однако я получаю только страницу nginx по умолчанию, поэтому vhosts не маршрутизируют правильно.
Я использовал https://www.rent -a-hero.de / wp/ 2017/06/09 / use-j-wilders-nginx-proxy-for-множественный-docker-compose-projects / как руководство для начала работы с этим, потому что я хотел настроить прокси-сеть.
Каждый из обслуживающих контейнеров nxinx имеет файл vhost и использует 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-proxy и сеть, и я удалил пример второго контейнера nginx)