我有一个运行 Ubuntu 的 Docker 容器,我做了如下操作:
docker run -it ubuntu /bin/bash
但是它没有ping
命令,报错:
bash: ping: command not found
ubuntu镜像缺少一个非常基本的命令,我想在任何时候ping
命令都在,我该如何做?
我有一个运行 Ubuntu 的 Docker 容器,我做了如下操作:
docker run -it ubuntu /bin/bash
但是它没有ping
命令,报错:
bash: ping: command not found
ubuntu镜像缺少一个非常基本的命令,我想在任何时候ping
命令都在,我该如何做?
Docker 希望初始镜像尽量的小,所以剔除了很多命令,但是可以通过以下方式在官方 ubuntu docker 镜像中安装 ping:
apt-get update apt-get install iputils-ping
有可能你只是临时需要使用
ping
命令,用于测试目的,上面的例子将帮助你解决这个问题。但是如果你需要ping一直在你的镜像上,你可以创建一个Dockerfile或者将你运行上述命令的容器提交到一个新的镜像中。
Commit:
Dockerfile:
FROM ubuntu RUN apt-get update && apt-get install -y iputils-ping CMD bash
注意,在创建docker镜像时有一些最佳做法,比如在创建后清除apt缓存文件等等,让镜像尽可能的小。
或者,你可以使用已经安装了ping的Docker镜像,例如
busybox
:docker run --rm busybox ping SERVER_NAME -c 2
楼上的都是正解,希望楼主真正理解docker容器。
你的答案