首页
关于
Search
1
VMware ESXi 8.0.2安装NVIDIA P4/P40显卡驱动
632 阅读
2
Emby主题秀:教你如何打造炫目首页,视觉冲击力MAX!
255 阅读
3
VMware Horizon 8 安装部署(一)基础架构讲解
175 阅读
4
看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
146 阅读
5
暧昧初期绝对不要问女生的5个问题
144 阅读
默认分类
VMware虚拟化
CentOS部署教程
Docker容器部署
宝塔面板
群晖NAS
家庭影院
情商进阶
登录
Search
标签搜索
主动掌控情感
高价值恋爱法则
轻松搭建
高段位恋爱
情绪价值提升
情感自由心法
Frp内网穿透
宝塔面板
MySQL数据库
性能调优
群晖
J3455处理器
阿里云仓库
镜像备份
镜像迁移
Emby主题秀
Emby家庭影院
断舍离恋爱法则
情感主导权
女生主动攻略
何海龙
累计撰写
48
篇文章
累计收到
0
条评论
首页
栏目
默认分类
VMware虚拟化
CentOS部署教程
Docker容器部署
宝塔面板
群晖NAS
家庭影院
情商进阶
页面
关于
搜索到
1
篇与
的结果
2024-02-16
Docker将容器打包成镜像、镜像备份、镜像迁移(恢复)、发布到阿里云仓库
前言工作中遇到三方闭源的中间件运行起来某项特性不符合需求,但是镜像提供方偏偏又没有将配置文件挂载出来以供修改,这就导致要使软件符合需求地运行只能进入到容器内部修改配置文件后重启,可谓非常之蛋疼。笔者平时对 Docker 接触不多,好在有同事提到 Docker 支持将运行中的容器重新打包为镜像,于是网上搜索资料,大致整理出以下步骤解决上面的问题,故有本文聊作记录,本文就以CentOS7作为演示。一、容器保存为镜像1.Docker 提供了 commit 命令支持将容器重新打成镜像文件,其命令格式如下所示:命令:docker commit [-m="提交的描述信息"] [-a="创建者"] 容器名称|容器ID 生成的镜像名[:标签名]命令行说明:-a :提交的镜像作者 -c :使用Dockerfile指令来创建镜像 -m :提交时的说明文字 -p :在commit时,将容器暂停 容器名称|容器ID :当前要被打包的容器名称或容器ID 生成的镜像名[:标签名] :指定镜像名称或标签名称2. 创建测试容器创建并启动容器:#拉取镜像 docker pull centos:7 #启动CentOS镜像 docker run --name centos7 --privileged -d --ulimit memlock=-1 -td centos:7 /usr/sbin/init命令行说明:--name "centos7" :容器名字 -i :以交互模式运行容器,通常与 -t 同时使用 -t :启动容器后,为容器分配一个命令行,通常与 -i 同时使用 -v :目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录> -d :守护进程,后台运行该容器 -p :指定端口映射,格式:主机(宿主)端口:容器端口 -P :随机端口映射,容器内部端口随机映射到主机的端口进入容器:#进入Docker容器命令: docker exec -it centos7 /bin/bash在容器中随便增加一些文件作为测试:3.将该容器打包成镜像退出容器执行打包命令(镜像名必须要全部小写,否则将不能打包)docker commit -m thisthetextcentos -a hehailong centos7 textcentos7:1.0命令行说明:docker commit [-m="提交的描述信息"] [-a="创建者"] 容器名称|容器ID 生成的镜像名[:标签名] -m= : 为镜像添加描述信息 -a= : 为镜像添加创建者信息 容器名称|容器ID : 当前要被打包的容器名称或容器ID 生成的镜像名[:标签名] : 指定镜像名称或标签名称查看镜像列表:#docker查看镜像命令 docker images4.运行容器将打包的镜像在本机Docker验证打包成镜像是否成功:运行容器:docker run -it textcentos7:1.0 /bin/bash{dotted startColor="#ff6c6c" endColor="#1989fa"/}二、将镜像备份成.tar文件1.备份命令:docker save -o 保存的PathName 镜像名:标签将镜像打包,并保存在当前目录下:#打包备份textcentos7镜像,备份镜像名为mydockercentos.tar docker save -o ./mydockercentos.tar textcentos72.从.tar文件恢复成Docker镜像先删除原有的textcentos:1.0镜像:恢复镜像:#恢复mydockercentos.tar镜像备份文件 docker load -i mydockercentos.tar命令行解释:docker load -i :指定导出的文件。 docker load -q :精简输出信息。{dotted startColor="#ff6c6c" endColor="#1989fa"/}三、上传到阿里云仓库1.阿里云控制台进入阿里云控制台,找到容器镜像服务,并点击进去。初次进入需要设置远程仓库密码:2.将镜像提交到阿里云查看上图阿里云基本信息中的操作指南:Docker tag的目的是:标记此镜像为阿里云仓库的镜像:3.从云仓库拉取镜像先删除原有镜像:拉取镜像:运行镜像(另一台docker主机测试,完美部署):参考文献Docker 使用-将容器打成镜像_docker将容器打包成镜像-CSDN博客Docker容器打包成镜像-【如何使用Docker将容器打包成镜像】_CSDN博客Docker将容器打包成镜像并传输至其他服务器部署(可用于容器重新run) - 007少侠 - 博客园 (cnblogs.com)
2024年02月16日
127 阅读
0 评论
0 点赞