[4] docker容器打包成镜像、镜像备份、镜像迁移(恢复)、发布到阿里云仓库

如果你学习了前面的的三篇文章:

[1] 外行人都能看的懂的Docker简介
[2] 一篇文章带你入门Docker
[3] docker应用部署实战(MySQL、Tomcat、Redis、RabbitMQ)

那恭喜你,你现在已经可以将自己的应用程序+运行环境打包好放到docker里了。然而,做到这一步显然还不够。你需要将你的docker镜像对外提供出去,这样才能放到其他主机上去跑。本节我们就来实战一下将容器打包成Docker镜像,并提供对外拷贝的.tar包或将其直接发布到阿里云仓库。

1.容器保存为镜像

命令:

docker commit [-m="提交的描述信息"] [-a="创建者"] 容器名称|容器ID 生成的镜像名[:标签名]

解释:

-m= : 为镜像添加描述信息
-a= : 为镜像添加创建者信息
容器名称|容器ID : 当前要被打包的容器名称或容器ID
生成的镜像名[:标签名] : 指定镜像名称或标签名称

1.1 创建测试容器

创建并进入容器

docker run -it --name=my_ubuntu  ubuntu /bin/bash

随便增加一些文件
在这里插入图片描述

2.2 将该容器打包成镜像

1.首先退出容器
在这里插入图片描述
2.执行打包命令
在这里插入图片描述
在这里需要强调一点:镜像名必须要全部小写,否则将不能打包。
在这里插入图片描述
3. 查看镜像列表
在这里插入图片描述

2.3 运行容器

运行容器验证一下:
在这里插入图片描述

2.4 对有目录/文件映射的容器的处理

针对映射了宿主机的文件/目录的容器,在打包成镜像时,映射文件/目录并不会被打包进去。
针对这种情况提供两种解决方案:

1.直接将原来的映射目录/文件拷贝进容器后再打包。

docker cp 要拷贝的文件或目录 容器ID或容器名称:要拷贝到的容器内部位置

2.对外提供镜像时,把映射文件一起提供出去。当运行镜像时,指定映射关系。

2.将镜像备份成.tar文件

命令

docker save -o 保存的PathName 镜像名:标签

将镜像打包,并保存在当前目录下:
在这里插入图片描述

3. 从.tar文件恢复

1.先删除原有的my_ubuntu:1.0镜像
在这里插入图片描述
2.恢复镜像

命令

docker load -i 镜像备份文件

实操
在这里插入图片描述

4. 上传到阿里云仓库

4.1 进入阿里云控制台

进入阿里云控制台,找到容器镜像服务,并点击进去。

初次进入需要设置远程仓库密码
在这里插入图片描述
设置密码
在这里插入图片描述

4.2 创建镜像仓库

在这里插入图片描述
选择本地仓库
在这里插入图片描述

4.3 查看操作指南

在这里插入图片描述
具体说明
在这里插入图片描述

4.4 实操将镜像提交到阿里云

在这里插入图片描述
docker tag的目的是:标记此镜像为阿里云仓库的镜像

4.5 实操从云仓库拉取镜像

先删除原有镜像
在这里插入图片描述
拉取镜像
在这里插入图片描述
运行镜像
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章