Я хочу настроить шлюз для подключения двух контейнеров.Ниже приведен пример составного файла, который создает три контейнера - test_client, test_server и прокси.Прокси-сервер должен действовать как шлюз по умолчанию для всего трафика к test_server от test_client.Я использую формат файла компоновки v2, поскольку конфигурации шлюза IPAM не поддерживаются в v3.
version: "2"
services:
proxy:
build: .
cap_add:
- NET_ADMIN
expose:
- 8080
- 80
- 443
networks:
client_network:
ipv4_address: '192.168.0.5'
server_network: null
stdin_open: true
tty: true
test_server:
build: ./test_server
expose:
- 8000
networks:
- server_network
test_client:
build: ./test_client
networks:
- client_network
stdin_open: true
tty: true
networks:
client_network:
driver: bridge
ipam:
driver: default
config:
- subnet: "192.168.0.0/24"
gateway: "192.168.0.5"
server_network:
driver: bridge
Когда я запускаю docker-compose up
, я получаю следующую ошибку:
ERROR: for 28e458cec9ac_network_proxy_1 b'user specified IP address is supported only when connecting to networks with user configured subnets'
I 'Прочитайте следующие ресурсы:
SO: контейнер докера в качестве шлюза между двумя мостами докера Форумы Docker
Но, похоже, они не помогаютмне ответить, как я получаю эту настройку.Я не привержен какой-либо конкретной сетевой структуре - единственное, что я хочу - это настроить что-то, где один контейнер будет действовать как шлюз сетевого уровня между двумя другими контейнерами.