用 Docker 拉取的 Base 镜像(如 Centos、Ubuntu)都是最简版本,不包含 Ping 工具。但有时我们需要用到 Ping 工具来测试两个容器间的网络连接,下面演示如何创建并使用一个带有 ping 命令 的 Ubuntu 镜像。
1,构建镜像
(1)首先我们创建一个 Dockerfile 文件,内容如下:
1 2 3 4 | FROM ubuntu:latest RUN apt-get update \ && apt-get install -y net-tools \ && apt-get install -y iputils-ping |
(2)接着执行如下命令开始构建镜像
参数说明:
-t 表示将新镜像命名为 ubuntu-with-ping
末尾的 . 指明 build context 为当前目录
Docker 默认会从 build context 中查找 Dockerfile 文件,我们也可以通过 -f 参数指定 Dockerfile 的位置。
1 | docker build -t ubuntu-with-ping . |
2,使用镜像
(1)执行如下命令以交互模式运行一个 ubuntu-with-ping 镜像容器:
1 | docker run -it ubuntu-with-ping |
(2)可以看到 ping 和 ifconfig 命令都可以使用了: