2015-08-08 7 views
7

na moim MBP, z zainstalowaną najnowszą boot2docker, mam następujący Dockerfile:nie można połączyć się z Redis działa jako pojemnik z boot2docker

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

uruchomić następujące:

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

Potem uruchom:

redis-cli -h `boot2docker ip` 

I pojawia się błąd:

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

Czego mi brakuje?

Odpowiedz

11

Zapomniałeś odsłonić port. Wystarczy uruchomić pojemnik jak:

docker run -rm -p 6379:6379 ba09b207db42 

Dodatkowo:

  • Mogłeś dać obraz o nazwę, dzięki czemu nie będzie musiał pracować z identyfikatorami: docker build -t myimage .

  • Następnie można rozpocząć pojemnik w tle, aby nie "zablokować" terminala: docker run --name mycontainer -d -p 6379:6379 myimage

+0

Dzięki, mogłem zobaczyć port otwarty w 'docker ps', ponieważ port jest odsłonięty przez obraz redis, więc pomyślałem, że to nie jest potrzebne, ale to definitywnie rozwiązało (facepalm). – jtblin

+4

Porty, które widzisz z 'docker ps' są otwarte, ale tylko dla innych kontenerów działających na tym samym hoście. Gdy chcesz uzyskać do nich dostęp spoza okna dokowanego, musisz określić takie mapowania portów. – h3nrik

+0

Dziękuję za dodatkowe wyjaśnienia! – jtblin

Powiązane problemy