需要:我想在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/??_*
答案 0 :(得分:1)
这里没有完美的答案。
使用Ubuntu作为基本映像是一个很好的起点,特别是对于希望部署到需要模拟虚拟机的环境中的遗留应用程序。我建议不要让这个驱动器做出所有决策,因为容器不是虚拟机。它们都共享主机的内核。正如@RobKielty所说:“Linux就是Linux”。
事实上,如果您的应用程序具有非常少的依赖关系(例如转到程序),那么基本映像的额外大小就是冗余。使用像Alpine这样的替代基础图像是出于对更快下载的渴望,但它也具有安全性优势。它消除了原本需要修补的未使用的软件包。但是......这不是一个免费的午餐,因为使用Alpine意味着更多的努力安装依赖(这已经存在于像Ubuntu这样的更大的图像中)
总之,我会向您推荐社区python图像。如果你仔细观察,有几个可用的图像标签,使用建立在各种基本图像之上的python。可能会为你节省很多精力。
https://hub.docker.com/_/python/
希望这有帮助。