Как получить доступ к Docker-контейнеру, работающему на MacOSX, с другого хоста?

Я пытаюсь начать работу с докером и хочу запуститьUbiquiti видеоконтроллер, Я установил Docker Toolbox и сумел заставить контейнер работать на моем хосте Yosemite и могу получить к нему доступ на том же Mac, перейдя по IP-адресу, возвращенномуdocker-machine ip default, Но я хочу получить доступ к нему на других машинах в сети и в конечном итоге настроить переадресацию портов на домашнем маршрутизаторе, чтобы получить доступ к нему за пределами моей домашней сети.

Как предложено вboot2docker выпуск 160С помощью графического интерфейса Virtualbox я смог добавить сетевой мостовой адаптер, но после перезапуска виртуальной машиныdocker-machine больше не может соединиться с виртуальной машиной.docker env default висит долго, но в итоге возвращает некоторые переменные окружения вместе с сообщениемMaximum number of retries (60) exceeded, Когда я настраиваю оболочку с этими переменными и пытаюсь запуститьdocker ps Я получаю ошибку:An error occurred trying to connect: Get https://10.0.2.15:2376/v1.20/containers/json: dial tcp 10.0.2.15:2376: network is unreachable.

Я подозреваю, что у докер-машины есть некоторые предположения о конфигурации сети в ВМ, и я их испортил.

docker-machine ssh ifconfig -a возвращает следующее:

docker0   Link encap:Ethernet  HWaddr 02:42:86:44:17:1E  
          inet addr:172.17.42.1  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

dummy0    Link encap:Ethernet  HWaddr 96:9F:AA:B8:BB:46  
          BROADCAST NOARP  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0      Link encap:Ethernet  HWaddr 08:00:27:37:2C:75  
          inet addr:192.168.1.142  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe37:2c75/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2996 errors:0 dropped:0 overruns:0 frame:0
          TX packets:76 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:278781 (272.2 KiB)  TX bytes:6824 (6.6 KiB)
          Interrupt:17 Base address:0xd060 

eth1      Link encap:Ethernet  HWaddr 08:00:27:E8:38:7C  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fee8:387c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:767 errors:0 dropped:0 overruns:0 frame:0
          TX packets:495 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:122291 (119.4 KiB)  TX bytes:116118 (113.3 KiB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:A4:CF:12  
          inet addr:192.168.99.100  Bcast:192.168.99.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fea4:cf12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:430 errors:0 dropped:0 overruns:0 frame:0
          TX packets:322 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:53351 (52.1 KiB)  TX bytes:24000 (23.4 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

eth0 кажется, получает разумный адрес DHCP от моего маршрутизатора.

Я не уверен, что это правильный подход или я лаю не на том дереве. Если я смогу подключить сетевой адаптер, работающий на виртуальной машине, я не знаю, как убедить мой докер-контейнер использовать его. Я пытался искать в Интернете все выше и ниже. Я нашел десятки сайтов, которые объясняют, как вам нужно получить доступ к контейнеру, используя значениеdocker-machine ip default скорее, чемlocalhost но ничего не объясняет, как получить доступ с другого хоста. Может быть, мне нужно улучшить свои навыки поиска в Google.

Ответы на вопрос(5)

Ваш ответ на вопрос