【问题标题】:Unable to ping google from inside ubuntu docker container无法从 ubuntu docker 容器内部 ping 谷歌
【发布时间】:2018-02-28 09:03:56
【问题描述】:

我对 docker 和 linux 完全陌生,我正在尝试从 docker 容器中 ping google。我收到以下错误....

vagrant@vagrant-ubuntu-trusty-64:~$ docker run ubuntu ping google.com
docker: Error response from daemon: OCI runtime create failed:
container_linux.go:348: starting container process caused "exec: \"ping\":
executable file not found in $PATH": unknown.

如上所述,我在 vagrant 上使用 ubuntu/trusty64 box

我在我的 vagrantfile 中启用了一个公共网络

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
  config.vm.network "public_network"

并且可以从虚拟机ping google

vagrant@vagrant-ubuntu-trusty-64:~$ ping google.com
PING google.com (216.58.204.46) 56(84) bytes of data.
64 bytes from lhr25s12-in-f14.1e100.net (216.58.204.46): icmp_seq=1 ttl=52 time=29.5 ms
64 bytes from lhr25s12-in-f14.1e100.net (216.58.204.46): icmp_seq=2 ttl=52 time=36.2 ms
64 bytes from lhr25s12-in-f14.1e100.net (216.58.204.46): icmp_seq=3 ttl=52 time=95.7 ms

但似乎不在 docker 容器内。

我尝试了这个解决方案,但没有帮助 - https://odino.org/cannot-connect-to-the-internet-from-your-docker-containers/

这可能是什么问题?

谢谢,

【问题讨论】:

  • 那些反对票不是我的,但想知道,你为什么要做“docker run ping..”?? docs.docker.com/engine/reference/run 会告诉你关于 docker run。此外,您需要指定您想要实现的具体目标,因为我可以看到 vagrant 也已被标记
  • 这个问题清楚地解释了我想要实现的目标 - 我希望能够从 docker 容器内 ping 谷歌,从而确认互联网连接。我尝试了 docker run 命令的变体,例如docker run -ti ubuntu ping google.comdocker run --rm ubuntu ping google.com,两者的结果与问题中描述的结果相同。为什么这被否决了?我正在关注使用上述确切命令的 Packt 教程。作为一个初学者,几乎不可能在这个网站上得到一个积极支持的问题。
  • 我只是想知道,如果您是初学者,为什么要同时使用 vagrant 和 Docker?相反,请遵循 Docker 快速入门指南。此外,您还没有提到您的主机操作系统。如果你能提到这一点,可以指导你正确的方向。
  • 初学者尝试使用 vagrant 和 docker 有什么问题?我的主机操作系统是 windows,我想在 linux 上使用 docker,所以这似乎是一个非常合理的方法。我也想熟悉一下linux终端。

标签: docker vagrant ubuntu-14.04 vagrantfile


【解决方案1】:

错误消息告诉您“ping”命令未包含在 ubuntu 基础映像中。 Docker 镜像被剥离,你需要安装任何你想在其中运行的应用程序。如果您使用 /bin/bash 运行容器,则可以在该容器中安装 ping:

apt-get update && apt-get install iputils-ping

您可以在nicolaka/netshoot 中找到预装的 ping 和许多其他网络工具,我喜欢这些工具用于网络故障排除:

docker run -it --rm nicolaka/netshoot ping www.google.com

【讨论】:

  • 使用docker run -it ubuntu时无法上网
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 2015-09-05
相关资源
最近更新 更多