无法使用boot2docker连接到作为容器运行的redis

jtb*_*lin 8 redis docker boot2docker

在我的MBP上,boot2docker安装了最新版本,我有以下内容Dockerfile:

FROM redis:3.0.3
CMD redis-server --bind 0.0.0.0
Run Code Online (Sandbox Code Playgroud)

我执行以下操作:

docker build .
docker run --rm ba09b207db42 # where ba09b207db42 is the container id returned by the build command
Run Code Online (Sandbox Code Playgroud)

然后我跑:

redis-cli -h `boot2docker ip`
Run Code Online (Sandbox Code Playgroud)

我收到错误:

无法连接到Redis 192.168.59.103:6379:连接被拒绝

我错过了什么?

h3n*_*rik 19

你忘了揭露这个港口.只需像这样运行容器:

docker run --rm -p 6379:6379 ba09b207db42
Run Code Online (Sandbox Code Playgroud)

另外:

  • 您可以为图像命名,这样您就不需要使用ID: docker build -t myimage .

  • 然后,您可以在后台启动容器,以便它不会"阻止"您的终端: docker run --name mycontainer -d -p 6379:6379 myimage

  • 使用`docker ps`看到的端口是打开的,但仅限于在同一主机上运行的其他容器.当您需要从docker外部访问它们时,您需要指定此类端口映射. (4认同)