2016-03-08 11 views
6

Ich bin neu bei Docker und kann anscheinend keine Verbindung zu Containern herstellen.Verbindung zu Docker-Containern unter OSX nicht möglich

Ich installierte Docker Toolbox. Jetzt versuche ich Shipyard zu arbeiten. Ich folgte den Schritten innerhalb eines Docker Quickstart Terminals. Die Anweisungen lauten wie folgt:

Nach der Bereitstellung gibt das Skript die URL für die Verbindung mit Anmeldeinformationen aus.

Die Werft Installateur endete mit:

Shipyard available at http://10.0.2.15:8080 
Username: [elided] Password: [elided] 

Allerdings ging ich in meinem Browser zu http://10.0.2.15:8080 und es konnte keine Verbindung herstellen.

In einem anderen Docker Quickstart-Terminal, habe ich ein docker ps zu sehen, was der Behälter war und seine IP-Adresse zu erhalten, und ich bekam:

$ docker inspect a4755 | grep IPAddress 
      "SecondaryIPAddresses": null, 
      "IPAddress": "172.17.0.8", 
        "IPAddress": "172.17.0.8", 

Ich bin nicht sicher, warum die IP anders war, aber ich versucht, eine Verbindung zu http://172.17.0.8:8080 und das hat auch nicht funktioniert. http://localhost:8080 ist ebenfalls fehlgeschlagen.

Dies geschah auch, als ich versuchte docker-gunicorn-nginx zu laufen - alles begann, aber ich konnte nicht an das Gerät angeschlossen werden.

Was gibt?

Antwort

13

Wenn Sie durch Docker des lesen Installation on Mac OS X Sie, dass auf OSX sehen werden, Docker-Container laufen nicht auf dem Host-Rechner selbst:

In einer Docker Installation auf Linux, Ihre physische Maschine ist sowohl die localhost und der Docker-Host. Im Netzwerk bedeutet localhost Ihren Computer. Der Docker-Host ist der Computer, auf dem die Container ausgeführt werden.

Bei einer typischen Linux-Installation werden der Docker-Client, der Docker-Daemon und alle Container direkt auf Ihrem lokalen Host ausgeführt. Das bedeutet, dass Sie Ports in einem Docker-Container mithilfe der Standard-localhost-Adressierung wie localhost: 8000 oder 0.0.0.0:8376 adressieren können.

[...]

In einer OS X-Installation, die Docker Daemon läuft innerhalb einer Linux-VM Standard genannt. Die Standardeinstellung ist eine leichtgewichtige Linux-VM, die speziell für die Ausführung des Docker-Daemons unter Mac OS X entwickelt wurde. Die VM läuft vollständig aus dem RAM, ist ein kleiner ~ 24 MB-Download und startet in etwa 5 Sekunden.

In OS X ist die Docker-Hostadresse die Adresse der Linux-VM. Wenn Sie die VM mit docker-machine starten, wird ihr eine IP-Adresse zugewiesen. Wenn Sie einen Container starten, werden die Ports in einem Container den Ports auf der VM zugeordnet. Um dies in der Praxis zu sehen, arbeiten Sie die Übungen auf dieser Seite durch.

die Tat einen neuen Docker Quickstart-Terminal zu öffnen, sehe ich:

docker is configured to use the default machine with IP 192.168.99.100 

Und Öffnung http://192.168.99.100:8080 nimmt mich auf Werft. Erfolg!

3

Sie können diesen Befehl versuchen und ausführen:

docker-machine ip default 

es wird einige Sache zurückkehren wie:

192.168.99.100 

um die Portnummer zu erhalten:

docker ps 

Beispiel Ausgabe (nach rechts scrollen Port-Mapping zu sehen):

CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS     NAMES 
113346425f20  springio/spring1 "sh -c 'java $JAVA_OP" 34 minutes ago  Up 34 minutes  0.0.0.0:8080->8080/tcp pensive_kirch 

Um zu überprüfen, ob es funktioniert do:

curl 192.168.99.100:8080

Verwandte Themen