为什么我无法 ping 我的 docker 容器?

why I can't ping my docker container?

我运行一个docker容器,名为"redis"。我想使用"redis"容器redis服务,但是无法ping通容器!

如图所示,我的"redis"容器IP地址是172.17.0.15,但是连接不上

我想使用redis服务。我的配置有什么问题?

因为你们不在同一个网络中。默认情况下,容器在自己的网络上启动,独立于主机的网络。

如果你运行:

docker run -it debian ping 172.17.0.15

您应该会发现它有效。更好的是,您可以 link 个容器并按名称引用它们:

$ docker run -d --name redis redis
$ docker run --link redis:redis redis redis-cli -h redis ping
PONG

如果你真的想从你的主机访问redis,只需发布​​一个端口到主机:

$ docker run -d -p 6379:6379 redis

您现在应该可以通过主机上的 localhost:6379 访问它。