2015-08-08 12 views
7

Auf meinem MBP auf Redis läuft, mit den neuesten boot2docker installiert, ich habe folgendes Dockerfile:kann keine Verbindung als Behälter mit boot2docker

FROM redis:3.0.3 
CMD redis-server --bind 0.0.0.0 

Ich betreibe die folgenden:

docker build . 
docker run --rm ba09b207db42 # where ba09b207db42 is the container id returned by the build command 

Dann laufe ich:

redis-cli -h `boot2docker ip` 

Und ich bekomme die Fehlermeldung:

Could not connect to Redis at 192.168.59.103:6379: Connection refused

Was fehlt mir?

Antwort

11

Sie haben vergessen, den Port freizulegen. Führen Sie einfach den Behälter wie:

docker run -rm -p 6379:6379 ba09b207db42 

Zusätzlich:

  • Sie können dem Bild einen Namen geben, so dass Sie nicht mit ids arbeiten müssten: docker build -t myimage .

  • Sie dann die beginnen könnte Container im Hintergrund, so dass es Ihr Terminal nicht "blockiert": docker run --name mycontainer -d -p 6379:6379 myimage

+0

Danke, ich konnte sehen, dass der Port in 'docker ps' offen ist, da der Port durch das Redisplay freigelegt wird, also dachte ich, dass es nicht benötigt wird, aber das hat es definitiv gelöst (facepalm). – jtblin

+4

Die Ports, die Sie mit "docker ps" sehen, sind geöffnet, aber nur für andere Container, die auf demselben Host ausgeführt werden. Wenn Sie von außerhalb des Andockfensters darauf zugreifen müssen, müssen Sie diese Anschlusszuordnungen angeben. – h3nrik

+0

Vielen Dank für die zusätzliche Erklärung! – jtblin

Verwandte Themen