缩减Python应用的镜像体积
背景
当你为 LLM 应用构建镜像时,发现整个过程很慢,一看镜像体积:好家伙,1.76 G!
能不能减少镜像体积,缩短打包时间啊?本文将分享两招实用的技巧,让 Python 应用的镜像体积减少 50%。
大约 2 分钟
当你为 LLM 应用构建镜像时,发现整个过程很慢,一看镜像体积:好家伙,1.76 G!
能不能减少镜像体积,缩短打包时间啊?本文将分享两招实用的技巧,让 Python 应用的镜像体积减少 50%。
存储多份 docker 认证信息:
mkdir "~/.project1"
mkdir "~/.project2"
docker --config ~/.project1 login registry.example.com -u <username> -p <deploy_token>
docker --config ~/.project2 login registry.example.com -u <username> -p <deploy_token>
结论:如果可移植性很重要,那么应该使用 sh!一般编写 Dockerfile 时,有关的脚本优先使用 sh。
常见问题:明明是存在的、可执行的shell脚本,却在容器报错 No such file or directory
,很可能是因为shell脚本开头声明了bash,但容器里只能执行 sh。
Arm 是另一种CPU架构(CISC),与常见的 x86 有所不同(RISC)。
跟我们有什么关系呢?
构建镜像时,为 Arm 平台构建镜像时,常见的问题:exec user process caused: exec format error
。
这是因为试图在 x86 机器上执行对平台有依赖的命令,如 shell 命令。
把静态资源放到云厂商的对象存储服务中托管是很常见的实践,但由于涉及的事项较多,故记录下来,方便查阅。
本文主要以阿里云OSS的控制台界面作为操作示例,其逻辑同样适用于华为云OBS、Amazon S3,只是可能界面上有差异,具体需要看相关的官方文档。