Docker – Ubuntu – bash:ping:找不到命令

我有一个运行Ubuntu的Docker容器,我做了如下:

docker run -it ubuntu /bin/bash 

但是它似乎没有ping 。 例如

 bash: ping: command not found 

我需要安装吗?

似乎是一个非常基本的命令丢失。 我试过whereis ping哪个不报任何东西。

Docker镜像是非常小的,但你可以通过以下方式在你的官方ubuntu docker镜像中安装ping

 apt-get update apt-get install iputils-ping 

机会是你不需要ping你的形象,只是想用它来testing的目的。 上面的例子会帮助你。

但是,如果您需要在图像上存在ping,则可以创buildDockerfilecommit运行上述命令的容器commit到新映像。

承诺:

 docker commit -m "Installed iputils-ping" --author "Your Name <name@domain.com>" ContainerNameOrId yourrepository/imagename:tag 

Dockerfile:

 FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash 

请注意有创builddocker图像的最佳做法,如清理后的caching文件等。

这是Ubuntu的Docker Hub页面, 这是如何创build的。 它只有(稍微)裸露的最小包装,因此如果你需要额外的东西,你需要自己安装。

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

但通常你会创build一个“Dockerfile”并构build它:

 mkdir ubuntu_with_ping cat >ubuntu_with_ping/Dockerfile <<'EOF' FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash EOF docker build -t ubuntu_with_ping ubuntu_with_ping docker run -it ubuntu_with_ping 

请使用Google查找教程并浏览现有的Dockerfiles,以查看他们通常如何做的事情。例如,在apt-get clean && rm -rf /var/lib/apt/lists/*通过运行apt-get clean && rm -rf /var/lib/apt/lists/* apt-get install命令。