【发布时间】: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.com和docker run --rm ubuntu ping google.com,两者的结果与问题中描述的结果相同。为什么这被否决了?我正在关注使用上述确切命令的 Packt 教程。作为一个初学者,几乎不可能在这个网站上得到一个积极支持的问题。 -
我只是想知道,如果您是初学者,为什么要同时使用 vagrant 和 Docker?相反,请遵循 Docker 快速入门指南。此外,您还没有提到您的主机操作系统。如果你能提到这一点,可以指导你正确的方向。
-
初学者尝试使用 vagrant 和 docker 有什么问题?我的主机操作系统是 windows,我想在 linux 上使用 docker,所以这似乎是一个非常合理的方法。我也想熟悉一下linux终端。
标签: docker vagrant ubuntu-14.04 vagrantfile