2015-08-08 55 views
7

在我的MBP,並且安裝最新的boot2docker,我有以下Dockerfile無法連接到Redis的運行的容器boot2docker

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

我運行以下命令:

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

然後我運行:

redis-cli -h `boot2docker ip` 

我得到的錯誤:

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

我錯過了什麼?

回答

11

你忘了揭露端口。只需運行容器,如:

docker run -rm -p 6379:6379 ba09b207db42 

此外:

  • 你可以給圖像的名稱,這樣你就不需要與IDS的工作:docker build -t myimage .

  • 你可以再啓動在後臺的容器,以便它不會「阻止」您的終端:docker run --name mycontainer -d -p 6379:6379 myimage

+0

謝謝,我可以看到端口在'docker ps'中打開,因爲端口被redis映像暴露出來,所以我認爲這不是必須的,但是這絕對可以解決它(facepalm)。 – jtblin

+4

您用'docker ps'看到的端口是開放的,但只對運行在同一主機上的其他容器開放。當你需要從docker外部訪問它們時,你需要指定這樣的端口映射。 – h3nrik

+0

非常感謝您的補充解釋! – jtblin

相關問題