用途:prune 用于清理 Kamal 部署中积累的旧容器与镜像,避免服务器磁盘被历史层占满。
主要能力:Kamal 默认保留最近 5 个已部署容器及其使用的镜像,prune 会删除更早的容器和镜像。保留策略使清理相对安全:最新发布仍留在服务器上,可继续检查或回滚,而无引用的旧层会被清除。
使用方式:prune 通常无需手动执行,它已接入部署流程。kamal deploy 会在每次部署结束时清理未使用镜像和已停止容器;kamal redeploy 为提速会跳过清理(同时跳过 bootstrap、启动 kamal-proxy 和 registry 登录)。需要手动清理时可用:kamal prune all 清理未使用镜像和已停止容器;kamal prune images 只清理未使用镜像;kamal prune containers 只清理已停止容器,保留最近 n 个(默认 5)。单独运行 kamal prune 只列出子命令,不会执行清理;kamal prune help [COMMAND] 可查看子命令说明。
保留数量控制:在 config/deploy.yml 中设置 retain_containers,默认值为 5,决定保留多少旧容器和镜像。调低可更积极回收磁盘,调高可保留更多历史发布。该值即 kamal prune containers 所遵循的 n。配置也可放在目标环境文件如 config/deploy.staging.yml 中。
适用场景:反复 redeploy 后、磁盘空间不足时,或希望在两次部署之间按需清理时。
限制:资料未提供其他平台、收费或效果信息;具体子命令完整参考见 references/prune-commands.md。