2015-08-08 54 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

相关问题