我注意到许多基于 Debian/ubuntu 的 docker 镜像,你必须apt-get update在安装任何软件包之前做一个。缓存是完全清楚的。我觉得我在做完我的RUN apt-update && apt-get install -y whatever. 我不知道该怎么做。是否有命令,或者我只是rm -rfq 文件夹?
小智 8
当你构建一个 docker 镜像时,你会尽量保持它最小。因此,谁构建安装包的映像会删除缓存以保持较小。结果是,apt-get update如果您想安装任何软件包,就必须运行。
由于执行的每个 docker 命令都会生成一个层,它的内容将“永远”保留在那里,一旦您完成安装包,您也想删除缓存。
执行此操作的两种方法是以下任一方法:
rm -rf /var/cache/apt/archives.或者
apt-get clean清除检索到的包文件的本地存储库。它从 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 中删除除锁定文件之外的所有内容。
(来源:手册页)
rm -rf /var/lib/apt/lists/*
它在Docker 最佳实践中:
当您通过删除
/var/lib/apt/lists它来清理 apt 缓存时,它会减小图像大小,因为 apt 缓存未存储在图层中。
/var/cache/apt/archives里面没有太多数据。比较du这两个目录之间的比较。
小智 5
尝试了一下码头工人。apt-get clean仍然保留一些东西(例如索引文件)。因此,IMO,最好rm -rf /var/cache/apt/archives /var/lib/apt/lists获得较小的图像。
| 归档时间: |
|
| 查看次数: |
11747 次 |
| 最近记录: |