На хост Ubuntu работает CoreOS под Vagrant, у меня есть докер контейнер бега Nginx на порт 80.Должен ли я создать туннель для доступа к контейнеру докеров на другом хосте?
docker run -v /home/core/share:/var/www:rw -p 80:80 -d nginx-example
Убунту хозяина IP является 192.168.2.2 в локальной сети
На хосте Ubuntu, Я могу просматривать http://172.17.8.101/ и просматривать веб-страницу, обслуживаемую контейнером nginx.
Если я хочу, чтобы иметь возможность просматривать одну и ту же веб-страницу с другого компьютера в локальной сети, мне нужно создать туннель SSH или есть какой-то другой механизм, который облегчил бы это? Я знаю, что 172.17.8.101 находится в частном сетевом диапазоне, но я не уверен, как подключиться к нему из локальной сети. Было бы проще, если бы ядро использовало IP-адрес в диапазоне 192.168?
докер инспектировать:
"NetworkSettings": {
"Bridge": "docker0",
"Gateway": "10.1.42.1",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "10.1.0.12",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"LinkLocalIPv6Address": "fe80::42:aff:fe1:c",
"LinkLocalIPv6PrefixLen": 64,
"MacAddress": "02:42:0a:01:00:0c",
"PortMapping": null,
"Ports": {
"80/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "80"
}
]
}
},
ifconfig
из coreos:
docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.1.42.1 netmask 255.255.0.0 broadcast 0.0.0.0
inet6 fe80::d81e:ceff:fee7:f6ef prefixlen 64 scopeid 0x20<link>
ether b2:d5:75:c1:88:94 txqueuelen 0 (Ethernet)
RX packets 46089 bytes 1871717 (1.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 91776 bytes 81647104 (77.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.2.15 netmask 255.255.255.0 broadcast 10.0.2.255
inet6 fe80::a00:27ff:fe0d:b324 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:0d:b3:24 txqueuelen 1000 (Ethernet)
RX packets 332980 bytes 285337617 (272.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 172343 bytes 9961980 (9.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.17.8.101 netmask 255.255.255.0 broadcast 172.17.8.255
inet6 fe80::a00:27ff:fed1:9f09 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:d1:9f:09 txqueuelen 1000 (Ethernet)
RX packets 114 bytes 34912 (34.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 93 bytes 10008 (9.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Это не система производства - это просто домашний эксперимент в погоне за больше узнать о докер
Спасибо. Я думаю, что этот ответ можно было бы улучшить, ссылаясь на все вовлеченные слои - хост-OS (Ubuntu), гость CoreOS и виртуальные сети, созданные как Vagrant, так и Docker. Оглядываясь назад, я думаю, что вопрос скорее связан с виртуальными сетями Vagrant, чем с Docker's – codecowboy