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
相关推荐
小小的木头人1 小时前
Docker Compose 镜像检测脚本(支持自动扫描 + 手动输入 YAML)
运维·docker·容器
沧州刺史2 小时前
k8s 拉取镜像时,请求提前断开(EOF)导致拉取失败
云原生·容器·kubernetes
狐狐生风2 小时前
LangGraph 生产级部署全解:FastAPI + Docker
python·docker·langchain·prompt·fastapi·langgraph·agentai
码农阿豪2 小时前
Docker 部署 XiuXianGame 文字修仙游戏:极空间 NAS 上随时挂机刷资源
游戏·docker·容器
小坏讲微服务4 小时前
小白搭建K8S集群0基础教程实战
docker·云原生·容器·kubernetes
xingfujie4 小时前
Ubuntu K8s 1.28 kubeadm 高可用集群部署实战
linux·运维·服务器·docker·kubernetes
AI视觉网奇4 小时前
docker vllm 开机启动
docker·容器·vllm
9命怪猫4 小时前
[K8S小白问题集] - K8S为什么选择etcd而不是别的key-value DB?比如Redis
云原生·容器·kubernetes
px不是xp4 小时前
Docker部署Qdrant向量数据库,初始化向量数据库,重构RAG逻辑
数据库·docker·微信小程序·重构·qdrant
小夏子_riotous5 小时前
Kubernetes学习路径——3. Kubernetes 1.25 高可用集群部署实战:从 Docker 到 Calico 全链路详解
linux·运维·学习·docker·容器·kubernetes·centos