带标签的 Docker 镜像打包为 tar 文件
现在还有人用docker吗
要将带标签的 Docker 镜像打包为 tar 文件,请使用 docker save
命令。以下是详细操作指南:
一、单镜像打包(推荐方式)
# 基础格式
docker save -o [输出文件名].tar [镜像名]:[标签]# 示例:将 my-app:1.0 保存为 app-backup.tar
docker save -o app-backup.tar my-app:1.0
二、多镜像打包
# 同时打包多个镜像到单个文件
docker save -o all-images.tar \my-app:1.0 \redis:alpine \nginx:latest
三、压缩打包(节省空间)
# 直接生成gzip压缩包(.tar.gz)
docker save my-app:1.0 | gzip > app-backup.tar.gz# 加载时解压
gunzip -c app-backup.tar.gz | docker load
四、操作验证
# 查看tar文件内容
tar -tvf app-backup.tar | head -n 5# 加载镜像到新环境
docker load -i app-backup.tar# 验证加载结果
docker images | grep my-app
五、使用场景与技巧
-
版本归档
# 结合日期/版本号命名 docker save -o my-app-$(date +%Y%m%d)-v1.0.tar my-app:1.0
-
CI/CD 流水线
# 在构建后自动打包 docker build -t my-app:$CI_COMMIT_SHA . docker save -o my-app-$CI_COMMIT_SHA.tar my-app:$CI_COMMIT_SHA
-
跨平台传输
# 压缩后传输(约减少70%体积) docker save my-app:prod | gzip | ssh user@server "gunzip | docker load"
-
批量导出所有镜像
# 导出全部镜像(慎用,可能体积巨大) docker save $(docker images -q) -o all-images.tar