Я начал с одного составного файла, который содержал все мои службы, которые я хочу запустить.Чтобы иметь возможность перестраивать и запускать их независимо друг от друга, я хочу, чтобы каждый из них имел свой собственный файл компоновки.
В качестве тестовой установки я использую два сервера nginx.Один для сервера страницы и один, который действует как прокси для сервера nginx со страницей.
Если я просто разделю составные файлы, другой сервер nginx больше не будет доступен.Чтобы подключить их снова, я создал собственную сеть «сервисов» и прикрепил к ней все контейнеры.В результате прокси-сервер nginx может снова найти nginx со страницей (в других случаях я получаю ошибку, потому что другой nginx недоступен).К сожалению, переадресация портов, кажется, отключена в моей конфигурации.Если я закомментирую определение сети, сопоставление портов будет работать нормально.
Я попытаюсь найти решение для подключения обоих контейнеров nginx, а также возможности настройки перенаправления портов с хоста на один контейнер.
Когда я создал сеть с помощью portainer (также пытался напрямую с помощью docker cli), я определил сеть как внешнюю.
Файл компоновки nginx со страницей:
version: '3'
services:
nginx2:
container_name: 'nginx2'
restart: unless-stopped
image: nginx:latest
networks:
- services
expose:
- "80"
ports:
- "8092:80"
volumes:
- ./conf/default.conf:/etc/nginx/conf.d/default.conf
- ./conf/index.html:/usr/share/nginx/html/index.html
- ./data/log:/var/log/nginx
networks:
services:
external: true
Файл составления nginx, который действует как прокси-сервер:
version: '3'
services:
nginx1:
container_name: 'nginx1'
restart: unless-stopped
image: nginx:latest
expose:
- "80"
ports:
- "8091:80"
networks:
- services
volumes:
- ./conf/default.conf:/etc/nginx/conf.d/default.conf
- ./conf/index.html:/usr/share/nginx/html/index.html
- ./data/log:/var/log/nginx
networks:
services:
external: true
Параметр прокси-сервера nginx:
proxy_pass http://nginx2;
Определение сети:
name: services
scope: local
Driver: ridge
Attachable: true
Internal: true
IPAM Driver: default
IPAM Subnet: 192.168.33.0/20
IPAM Gateway: 192.168.32.1
Это действительно будетбыло бы здорово, если бы кто-то мог указать мне, что мне не хватает, чтобы соединить оба контейнера и иметь переадресацию портов для одного контейнера одновременно.