我正在将全新安装的 Ubuntu 16.04.1 LTS 与其等效的 Docker 映像/容器进行比较,我注意到 Docker 版本缺少许多典型的二进制文件,例如、、vi
等等。less
ping
仅计算 Docker 容器中一些关键文件夹中的二进制文件:
root@9769637f38c6:/# ls -al /bin | wc -l
89
root@9769637f38c6:/# ls -al /usr/bin | wc -l
236
在全新的 Ubuntu VM 上,我分别获得了 174 个和 650 个二进制文件。
它们为何如此不同?
答案1
docker
据我所知,的主要思想是在小型轻量级容器中运行服务。为此,您不一定需要vi
诸如less
或 之类的程序ping
。如果您正在使用 创建自己的映像,Dockerfile
并且需要其中一个文件(例如用于服务或用于稍后调试),您可以通过在 中使用此行安装其他软件包来添加这些文件Dockerfile
RUN apt -y install vim less iputils-ping