我正在尝试减小使用Centos 7.2的docker镜像的大小 问题是它是257MB太高了...... 我已经按照最佳实践编写Dockerfile以减小大小... 有没有办法在构建后修改图像并重建该图像以查看缩小的大小?
答案 0 :(得分:1)
首先,如果你想减小操作系统的大小,不要从像CentOS这样的大型开始,你可以从小高山开始
现在,如果您仍然热衷于使用CentOS,请执行以下操作
docker run -d --name centos_minimal centos:7.2.1511 tail -f /dev/null
这将在后台启动命令。然后,您可以使用
进入容器docker exec -it centos_minimal bash
现在开始使用yum remove
或yum purge
删除您不需要的软件包。完成后,您可以提交图像
docker commit centos_minimal centos_minimal:7.2.1511_trial1
实验壁球图片
另一个选择是使用build命令的实验性功能。在这里你可以有一个像下面这样的dockerfile
FROM centos:7
RUN yum -y purge package1 package2 package2
然后使用
构建此文件docker build --squash -t centos_minimal:squash .
为此,您需要将"experimental": true
添加到/etc/docker/daemon.json
,然后重新启动docker服务器
答案 1 :(得分:-1)
这是可能的,但一点也不优雅。就像您可以将软件添加到基本映像一样,您也可以删除:
FROM centos:7
RUN yum -y update && yum clean all
RUN yum -y install new_software
RUN yum -y remove obsolete_software
问问自己:你的操作系统必须是CentOS吗?然后我建议你使用默认安装,并确保你有足够的磁盘空间和内存。
如果它不需要是CentOS,您应该从更简约的图像开始。请参阅此处的讨论: Which Docker base image should be used to install Apps in a container without any additional OS?