我想用Docker来测试我的应用程序。所以,我在文档文件中有这个:
FROM python:3-onbuild
CMD [ "python", "./test.py" ]
测试.py:
print(123)
然后我跑:
docker build -t my_test_app .
所以,我有一个大形象。docker images
返回:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
python 3-onbuild b258eb0a5195 8 days ago 757 MB
为什么文件这么大?
文件大小正常吗?
您可以尝试python:{version}-alpine版本。它要小得多:
在编写本文时,官方图像似乎支持所有python版本上的
-alpine
。https://hub.docker.com/_/python/
Alpine Linux是Docker可用的非常精简的发行版。如果没有Python,大约有5MB。使用Python,我可以获得60到120mb之间的图像。下面的Dockerfile生成一个110 MB的图像。
而且,它被很好地保护着。
我刚刚在我的机器上检查了标准的ubuntu:trusty映像是188mb,包含所有python内容的映像是480MB。我经常看到800MB的图像,这些图像通常包含一些有意义的应用程序。
然而,这些图片是基于我们的私人图片官方码头图书馆的图片似乎更大的原因。他们意识到这一事实,并试图减少它。看看关于这个主题的讨论here
如果你需要一个小一点的图像,试试这一个'胭脂8/Python'它是约100兆小。
请记住,docker图像是按分层结构排列的。因此,如果对许多容器重复使用相同的基础映像,则每个容器添加的大小相当小。它只是基础加上你添加到特定容器中的任何东西之间的差异。
相关问题 更多 >
编程相关推荐