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
相关推荐
小夏子_riotous7 小时前
Docker学习路径——3、常用命令
linux·运维·服务器·学习·docker·容器·centos
HYNuyoah11 小时前
docker 安装win10系统
运维·docker·容器
JAVA学习通13 小时前
励志从零打造LeetCode平台之C端竞赛列表
java·vscode·leetcode·docker·状态模式
WAIT_TIME17 小时前
昇腾910B虚拟卡(vNPU)创建以及Docker挂载
docker·容器·昇腾·runtime·虚拟显卡·vnpu
大大杰哥17 小时前
Docker笔记
java·docker
wuyikeer18 小时前
如何在docker中的mysql容器内执行命令与执行SQL文件
sql·mysql·docker
tian_jiangnan18 小时前
把 Docker 镜像推送到 阿里云容器镜像服务 ACR
阿里云·docker·容器
heimeiyingwang20 小时前
【架构实战】Docker容器网络模型详解
网络·docker·架构
Eric.Lee20211 天前
docker 启动停止命令
运维·docker·容器
苏渡苇1 天前
5 分钟跑起 Redis(Docker 版)
数据库·redis·缓存·docker·redis入门