代码之家  ›  专栏  ›  技术社区  ›  Konzy262

无法从ubuntu docker容器内ping google

  •  0
  • Konzy262  · 技术社区  · 6 年前

    我对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.
    

    如上所述,我使用 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"
    

    并且可以从VM 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/

    这里可能有什么问题?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  3
  •   BMitch    6 年前

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

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

    您可以在中找到ping和许多其他网络工具 nicolaka/netshoot 我喜欢用它来进行网络故障排除:

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