Docker Image Size a Concern - 使用ubuntu创建基本python映像的最佳实践

时间:2016-09-18 18:14:31

标签: python image ubuntu docker

需要:我想在ubuntu14.04上创建一个最小尺寸的python docker镜像。

问题:Ubuntu docker 14.04图片大小为188MB。在使用Dockerfile下面创建图像时,图像大小变为486MB。这对于这么小的补充来说太过分了。我理解指令的数量越少,图像的大小就越小。所以我把它保持在最低限度。

我做错了什么?什么是为python创建轻型dockerimage的最佳方法。

FROM ubuntu:14.04
RUN apt-get update && apt-get install -y -q curl \
build-essential \
python-dev \
python-pip \
vim \
wget && \
apt-get autoremove -y && \
apt-get clean && \
apt-get autoclean && \
echo -n > /var/lib/apt/extended_states && \
rm -rf /var/lib/apt/lists/* && \
rm -rf /usr/share/man/?? && \
rm -rf /usr/share/man/??_*

1 个答案:

答案 0 :(得分:1)

这里没有完美的答案。

使用Ubuntu作为基本映像是一个很好的起点,特别是对于希望部署到需要模拟虚拟机的环境中的遗留应用程序。我建议不要让这个驱动器做出所有决策,因为容器不是虚拟机。它们都共享主机的内核。正如@RobKielty所说:“Linux就是Linux”。

事实上,如果您的应用程序具有非常少的依赖关系(例如转到程序),那么基本映像的额外大小就是冗余。使用像Alpine这样的替代基础图像是出于对更快下载的渴望,但它也具有安全性优势。它消除了原本需要修补的未使用的软件包。但是......这不是一个免费的午餐,因为使用Alpine意味着更多的努力安装依赖(这已经存在于像Ubuntu这样的更大的图像中)

总之,我会向您推荐社区python图像。如果你仔细观察,有几个可用的图像标签,使用建立在各种基本图像之上的python。可能会为你节省很多精力。

https://hub.docker.com/_/python/

希望这有帮助。