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

标签 docker boot2docker docker-compose

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

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

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

enter image description here

最佳答案

因为您不在同一个网络上。容器默认在自己的网络上启动,独立于主机的网络。

如果你运行:

docker run -it debian ping 172.17.0.15

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

$ 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 访问它。

关于docker - 为什么我无法 ping 我的 docker 容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32457988/

相关文章:

docker - 拒绝 : requested access to the resource is denied - Docker

docker 风筝/hello-world-nginx : 403 error

docker - Docker Kitematic连接ETIMEDOUT错误

nginx - Docker-registry v2 带有 tls 和 nginx 身份验证错误背后的基本身份验证

docker - Docker构建卡在MariaDB安装上

docker - Docker两层应用程序问题:无法连接到mongo容器

heroku - 自定义buildpack中的权限被拒绝

ruby-on-rails - 将 Rails 6 应用程序部署到 Google Cloud Platform App Engine 时出错

ubuntu - 为什么我的 docker 守护进程以任意非 docker 用户身份运行容器?

windows - 适用于 Windows 的 Docker 镜像