docker 容器打包备份与镜像迭代更新

javascript 复制代码
# 导出命令
docker export <容器id> > <包名>.tar

# 导入命令
cat <包名>.tar | docker import - <镜像名:版本号>
javascript 复制代码
# 进入容器内部
docker exec -it <容器ID> /bin/bash

# 使用对应系统的安装包管理工具下载需要增强的功能包 (略)

# 增强docker基础镜像功能
docker commit -m="提交说明" -a="公司/作者" <容器ID> <镜像名称:版本号>

# 上传镜像仓库 (简化/略)
docker login 。。。。
docker tag 。。。。。
docker push  。。。。

补充:镜像拷贝打包

第一步:在外网机器上保存镜像

javascript 复制代码
# 1. 拉取官方镜像
docker pull nginx:alpine

# 2. 用 docker save 保存为 tar 文件(保留所有元数据)
docker save nginx:alpine > nginx-alpine.tar

# (可选)压缩以节省传输体积
gzip nginx-alpine.tar   # 生成 nginx-alpine.tar.gz

提示:可批量保存多个镜像:

docker save nginx:alpine redis:7 postgres:16 > base-images.tar

第二步:将 tar 文件传入内网

如U盘

第三步:在内网机器加载并推送到 Harbor
javascript 复制代码
# 1. 解压(如果之前压缩了)
gunzip /data/images/nginx-alpine.tar.gz   # 如果没压缩,跳过此步

# 2. 加载镜像到本地 Docker
docker load < /data/images/nginx-alpine.tar

# 验证是否加载成功(应看到 REPOSITORY = nginx, TAG = alpine)
docker images | grep nginx

# 3. 给镜像打标签,指向你的内网 Harbor (克隆并改名)
docker tag nginx:alpine harbor.internal:8080/library/nginx:alpine

# 4. 登录 Harbor(首次需配置证书或 insecure-registries)
docker login harbor.internal:8080 -u admin -p 'your_password'

# 5. 推送镜像到内网仓库
docker push harbor.internal:8080/library/nginx:alpine
相关推荐
fetasty11 小时前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪1 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
小p3 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p4 天前
docker学习: 1. docker基本使用
docker
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter5 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka