gpt4 book ai didi

docker - 自定义docker镜像具有巨大的大小增长

转载 作者:行者123 更新时间:2023-12-02 19:37:20 27 4
gpt4 key购买 nike

ubuntu:16.04镜像具有117 MB:

$ docker images

ubuntu 16.04 6a2f32de169d 5 days ago 117 MB

有了这个Dockerfile,我想添加一些包(python,build-essentials和curl)和 meteor :
FROM ubuntu:16.04
RUN apt-get update -y && apt-get upgrade -y
RUN apt-get install python -y
RUN apt-get install build-essential -y
RUN apt-get install curl -y
RUN cd ~ && curl https://install.meteor.com/ | sh

建立新形象后...
docker build -t custom-ubuntu .

...我看到它的容量超过1 GB。我不明白这么多钱...

二次尝试

使用此Dockerfile ...
FROM ubuntu:16.04
RUN apt-get update -y
RUN apt-get install nodejs-legacy -yqq
RUN apt-get install curl -yqq
RUN apt-get clean && apt-get autoclean && apt-get autoremove
RUN curl https://install.meteor.com/ | sh

...从1.2 GB开始,至少为850 MB。

这是输出的开始,因此apt-get update应该只增加24MB ...
Sending build context to Docker daemon 1.202 GB
Step 1/6 : FROM ubuntu:16.04
---> 6a2f32de169d
Step 2/6 : RUN apt-get update -y
---> Running in 4c4cec841f5d
Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
Get:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]
Get:4 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB]
Get:5 http://archive.ubuntu.com/ubuntu xenial/universe Sources [9802 kB]
Get:6 http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages [1558 kB]
Get:7 http://archive.ubuntu.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
Get:8 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages [9827 kB]
Get:9 http://archive.ubuntu.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
Get:10 http://archive.ubuntu.com/ubuntu xenial-updates/universe Sources [187 kB]
Get:11 http://security.ubuntu.com/ubuntu xenial-security/universe Sources [30.0 kB]
Get:12 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [652 kB]
Get:13 http://archive.ubuntu.com/ubuntu xenial-updates/restricted amd64 Packages [13.2 kB]
Get:14 http://archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [577 kB]
Get:15 http://archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 Packages [9809 B]
Get:16 http://archive.ubuntu.com/ubuntu xenial-backports/main amd64 Packages [4929 B]
Get:17 http://archive.ubuntu.com/ubuntu xenial-backports/universe amd64 Packages [2567 B]
Get:18 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages [308 kB]
Get:19 http://security.ubuntu.com/ubuntu xenial-security/restricted amd64 Packages [12.8 kB]
Get:20 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 Packages [133 kB]
Get:21 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 Packages [2936 B]
Fetched 23.9 MB in 7s (3184 kB/s)
Reading package lists...

最佳答案

您正在做RUN apt-get update -y && apt-get upgrade -y。这会将整个系统升级到所有已安装软件包的最新版本。我认为您只需要执行apt-get update,然后安装所需的软件包即可。为什么要升级整个系统?如果您想要的容器在容器中就足够了,或者如果您知道在该版本上使用的任何软件包中都存在某种漏洞,建议您对其进行更新。无论如何,python有很多依赖项,如果您安装它,则会增加大小。

减小容器大小的另一种好的做法是将其添加到Dockerfile中(在所有其他apt-get语句之后):

RUN apt-get clean && apt-get autoclean && apt-get autoremove

使用这些apt-get命令,您将清理并删除所有下载的.deb软件包文件。

这样做并检查所有这些建议后的大小。祝好运。

关于docker - 自定义docker镜像具有巨大的大小增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43479490/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com