Я только что начал экспериментировать с докером. На моем хосте Windows у меня есть виртуальная машина, которая содержит контейнер докеров. Я хочу иметь связь между хостом и контейнером или может быть другими виртуальными машинами и этим контейнером.Докер: Связь между физической машиной - VM -Docker container
- Host IP является 192.168.2.10 с маской подсети 255.255.255.0
- VM внутрибрюшинно является 192.168.254.130 с маской подсети 255.255.255.0
- Контейнер получает IP-172.17.0.13
I видели несколько блогов о мостике, но я до сих пор не уверен в этом и как это сделать. Я не очень люблю работу в сети.
Небольшое руководство поможет.
Благодаря
EDIT: я следовал за этим bridge-building, но не мог понять, какой диапазон IP, чтобы дать мост, так что я дал 192.168.254.1/24. Команда ip addr show bridge0
показывает state UNKNOWN
.
Спасибо за предложение. Без -net хоста я могу иметь связь от хоста к контейнеру. Думаю, если я это сделаю, я тоже смогу общаться. Есть ли другой способ, чтобы контейнер связывался с хостом? – user3275095
В моем понимающем хосте любой другой компьютер может связываться с контейнером, если его порт был «опубликован» с '-p' или' --publish', как описано [здесь] (https://docs.docker.com/articles/ сеть/# связывающие порты). Моя проблема заключалась в том, что в контейнере использовался сложный протокол с несколькими портами, поэтому настройка их была утомительной. Также в некоторых конфигурациях многие контейнеры запускаются на одном и том же хосте, а порты открыты для других контейнеров, но не для других внешних машин, это команда 'EXPOSE' в Dockerfiles или' --expose' при запуске контейнера. – NikoNyrh