Wie greife ich von einem anderen Host auf einen Docker-Container unter MacOSX zu?
Ich versuche, mit Docker zu beginnen und möchte das @ ausführeUbiquiti Video Controller. Ich habe Docker Toolbox installiert und es ist mir gelungen, den Container auf meinem Yosemite-Host zum Laufen zu bringen, und ich kann auf demselben Mac darauf zugreifen, indem ich zu der von @ zurückgegebenen IP gehdocker-machine ip default
. Ich möchte jedoch auf anderen Computern im Netzwerk darauf zugreifen und schließlich die Portweiterleitung auf meinem Heimrouter einrichten, damit ich außerhalb meines Heimnetzwerks darauf zugreifen kann.
Wie in @ vorgeschlag boot2docker Problem 160, mit der Virtualbox-GUI konnte ich einen überbrückten Netzwerkadapter hinzufügen, aber nach dem Neustart der VMdocker-machine
kann keine Verbindung mehr mit der VM herstellen.docker env default
hängt sich lange auf, gibt aber schließlich einige Umgebungsvariablen zusammen mit der Meldung @ zurüMaximum number of retries (60) exceeded
. Wenn ich die Shell mit diesen Variablen einrichte und versuche, @ auszuführdocker ps
Ich erhalte den Fehler: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
.
Ich vermute, dass Docker-Computer einige Annahmen über die Netzwerkkonfiguration in der VM hat, und ich mache sie kaputt.
docker-machine ssh ifconfig -a
gibt Folgendes zurück:
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
scheint eine vernünftige DHCP-Adresse von meinem Router zu erhalten.
Ich bin mir nicht sicher, ob das der richtige Ansatz ist oder ob ich den falschen Baum belle. Wenn der überbrückte Netzwerkadapter auf der VM funktioniert, kann ich meinen Docker-Container nicht davon überzeugen, ihn zu verwenden. Ich habe versucht, im Internet hoch und niedrig zu suchen. Ich habe Dutzende von Sites gefunden, die erklären, wie Sie mit dem Wert von @ auf den Container zugreifen müssedocker-machine ip default
eher, alslocalhost
aber nichts zu erklären, wie von einem anderen Host zugegriffen wird. Vielleicht muss ich meine Google-Fähigkeiten verbessern.