Я начал один контейнер, скажем, С1, по параллельной сети N1:Сетевое имя контейнеров на нескольких мостов
docker network create --driver bridge N1
docker run --net=N1 --name C1 -d some image
Затем я начать другой контейнер, С2, на N2:
docker network create --driver bridge N2
docker run --net=N1 --name C1 -d some image
Я хочу, чтобы начать третий контейнер (который будет обратный прокси-сервер доступен из порта 9090) C3, так что он может видеть C1:
docker run --net=N1 -p 9090:9090 --name C3
У меня есть доступ к C1 изнутри C3, а его имя - C1. Так, например, из С3 можно сделать
curl http://C1
можно затем запустить обратный прокси-сервер внутри C3 и вперед запрос, исходящий от порта 9090 к некоторым другим портам на C1.
Но если я хочу, чтобы добавить N2 в С3:
docker run --net=N1 --net=N2 -p 9090:9090 --name C3
затем внутри С3, если я смотрю C1 или C2, я получаю множество не найдено:
curl http://C1
host not found
Что являются ли названия C1 и C2 в этом случае?
Это работает, на самом деле я должен начать C3 перед присоединением N2, но он работает. Но что это делает тогда, поскольку он запускает C3 тоже: docker run --net = N1 --net = N2 -p 9090: 9090 --name C3 –
Он будет подключен к одной только одной сети, последний сетевой аргумент, который вы предоставляете (N2) – Matt