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

新手上路,请多包涵

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

 docker run -it ubuntu /bin/bash

但是它似乎没有 ping 。例如

bash: ping: command not found

我需要安装它吗?

似乎缺少一个非常基本的命令。我试过 whereis ping 没有报告任何内容。

原文由 Snowcrash 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

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

 apt-get update
apt-get install iputils-ping

您可能不需要 ping 在您的图像上,而只是想将其用于测试目的。上面的例子会帮助你。

但是,如果您需要 ping 存在于您的图像上,您可以创建一个 Dockerfilecommit 将上述命令运行到新图像中的容器。

犯罪:

 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

请注意,创建 docker 镜像有一些最佳实践,比如事后清除 apt 缓存文件等。

原文由 Farhad Farahi 发布,翻译遵循 CC BY-SA 4.0 许可协议

是 Ubuntu 的 Docker Hub 页面, 就是它的创建方式。它只安装了(有点)最低限度的软件包,因此如果您需要任何额外的东西,您需要自己安装它。

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

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

 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 查找教程并浏览现有的 Dockerfile 以了解它们通常是如何做事的 :) 例如,应通过在 apt-get install 命令之后运行 apt-get clean && rm -rf /var/lib/apt/lists/* 来最小化图像大小。

原文由 NikoNyrh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题