2016-07-04 17 views
0

Wenn ich einen Docker Container zu starten, kann ich aus irgendeinem Grund den Zugriff die Dienste des Docker Host, wenn ich die Host-LAN-IP verwenden, zB:Zugriff auf Dienste auf dem Host-Docker

docker run -it ubuntu sh -c "apt-get update && apt-get install -y netcat && nc -z 192.168.196.135 3449" 

Aber wie kann ich wissen, welche IP auf den Host zugreifen? Running ifconfig zeigt keine Netzwerke in der 192.x Bereich. Was ist, wenn der Host vom LAN getrennt ist?

+1

Scheint, dass ich es normalerweise mit 'docker-machine ip' bekommen kann, aber docker-machine funktioniert nicht, wenn Docker für Mac verwendet wird. – Grav

+0

Was ist mit "Pinata-Liste", die ich heute Morgen in http://stackoverflow.com/a/38178195/6309 erwähnt habe? Oder (andere Option) http://StackOverflow.com/a/24716645/6309? – VonC

Antwort

1

Sie können uns einen Eintrag in die Container hinzufügen /etc/hosts

docker run --add-host="dockerhost:192.168.196.135" -it ubuntu sh -c "apt-get update && apt-get install -y netcat && nc -z dockerhost 3449" 

Sie können auch diese verwenden docker discovery agent

Wenn Sie etwas anspruchsvollere müssen dann, dass Sie einen Service-Discovery-System wie zookeeper benötigen.

Verwandte Themen