定位镜像大小

1、先整体看下镜像各层比较大的是哪一层

docker history   --no-trunc test:release --format "{{.Size}}\t{{.CreatedBy}}" | sort -h

 

2、然后进入该镜像的容器,根据第一步中的结果,查看具体哪些文件占比大

du -h --max-depth=2 install/ | sort -hr

 

3、根据业务分析原因,选择删除

 

以我遇到例子为例:

 

通过1和2,锁定了ros系统中在install目录下有两个python通过pyinstaller生成了可执行文件,但是没有排除一些系统中已经有的库,导致_internal这个临时文件中会有很多库,如下图

 

后面在main.spec中增加了要排除的库(系统中已经安装),就少了很多

 

除了直接修改main.spec,也可以pyinstaller命令的时候通过--exclude-module参数来排除

 

posted on 2025-05-08 15:16  该用户很懒  阅读(9)  评论(0)    收藏  举报