Docker详解(九)——Docker镜像发布

简介: Docker详解(九)——Docker镜像发布

今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker镜像发布。

一、Docker镜像发布简介
在上文Docker详解(八)——Docker镜像制作中,我们介绍了Docker镜像的制作,今天,我们来介绍一下Docker镜像的发布。
在上文的基础上,当我们完成了Docker镜像的制作后,我们希望可以把我们的Docker镜像保存下载,然后移植到别的设备上运行。为了实现这一目的,我们就必须实现Docker镜像的发布或者是导出。
Docker镜像有两种发布方式,一种是将Docker镜像导出成tar包,然后在其他的设备上,只需要将该tar包导入即可;另一种方式是在Dockerhub上建立自己的Docker仓库,然后其他的设备就可以从Dockerhub仓库下载并使用了。接下来,我就介绍并实现一下这两种方式。

二、Docker镜像导出
首先,我们尝试一下将Docker镜像导出。
Docker镜像导出的命令需要使用save和-o参数,save表示对镜像进行导出,-o参数后面跟要导出的tar包文件名,其命令格式为:

docker save -o 【tar包文件名】 【镜像名】
1
例如,如果要把docker.io/centos:latest镜像导出,可以执行命令:

docker save -o docker-test.tar docker.io/centos:latest
1
该命令执行结果如下:

可以看出,该命令执行后,在本地生成了一个名为docker-test.tar的文件,接下来,我们删除原镜像,尝试把该tar包镜像导入。镜像的导入需要使用load和-i参数,load参数表示进行镜像导入,-i参数指定导入镜像的tar包名称,该命令格式如下:

docker load -i 【tar包】
1
下面,我们把刚刚的tar包镜像导入,执行命令:

docker load -i docker-test.tar
1
该命令执行结果如下:

三、Docker镜像发布至Dockerhub
接下来,我们尝试把Docker镜像发布至Dockerhub。
将Docker镜像发布到Dockerhub的前提和基础是在Dockerhub上有账号,并且建立了自己的Docker仓库。
登录https://hub.docker.com/,先注册申请一个自己的账号,然后创建一个自己的Docker仓库,如下所示:

输入仓库的名称(我的是docker-test)后,点击Create,就可以完成仓库的创建,创建完成后的仓库如下所示:

注意看上图,在右边有Docker仓库发布的提示命令。
接下来,我们登录我们的Dockerhub,执行命令:

docker login -u 【用户名】 -p 【密码】
1
该命令执行结果如下:

接下来,我们要有其注意,我们发布镜像的名称有严格的规范,如果不符合这个规范,镜像就有可能发布失败。镜像的名称必须是“用户名/仓库名”的格式。如果当前没有该格式的镜像,那么我们可以使用docker tag命令生成一个Docker镜像。docker tag命令格式如下:

docker tag 【原镜像名】 【新的镜像名】
1
这样,我们把Docker镜像改成符合我们的Docker仓库的格式,之后,我们执行命令:

docker push 【镜像名】
1
执行过程如下所示:

注意,只要出现上面的上传页面,就代表成功,但是如果中间因为网络的原因中断,那么只需要再次执行该命令即可。上算完成后的页面如下:

这时,我们也可以在Dockerhub上查看到我们上传的镜像信息,如下所示:

之后,我们还可以把我们的镜像信息拉取下来,如下所示:

原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124188726

目录
相关文章
|
16天前
|
应用服务中间件 nginx 开发者
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
最近一段时间 Docker 镜像一直是 Pull 不下来的状态,感觉除了挂🪜,想直连 Docker Hub 是几乎不可能的。更糟糕的是,很多原本可靠的国内镜像站,例如一些大厂和高校运营的,也陆续关停了,这对我们这些个人开发者和中小企业来说是挺难受的。之前,通过这些镜像站,我们可以快速、方便地获取所需的 Docker 镜像,现在这条路也不行了。感觉这次动作不小,以后想直接访问 Docker Hub 是不可能了。所以我们得想办法搭建自己的私有镜像仓库。
从 Docker Hub 拉取镜像受阻?这些解决方案帮你轻松应对
|
9天前
|
JavaScript 前端开发 数据安全/隐私保护
阿里云云效操作报错合集之流水线中获取不到CI_COMMIT_REF_NAME变量,导致docker镜像打包失败,什么原因
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
2月前
|
关系型数据库 MySQL 应用服务中间件
Docker 镜像的创建(二)
Docker 镜像的创建(二)
|
2月前
|
缓存 Linux Apache
Docker 镜像的创建(一)
Docker 镜像的创建(一)
|
11天前
|
应用服务中间件 Linux nginx
详细解读docker国内镜像源docker镜像大全
详细解读docker国内镜像源docker镜像大全
373 0
|
17天前
|
Java Docker 容器
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
使用 Spring Boot 构建 Docker 镜像并进行多模式部署
52 2
|
18天前
|
数据安全/隐私保护 开发者 Docker
国内docker公开镜像站的关闭!别急,docker_image_pusher 使用Github Action将国外的Docker镜像转存到阿里云私有仓库
通过使用 docker_image_pusher 这样的开源项目,我们能够轻松地解决国内访问 Docker 镜像拉取速度慢及拉去失败的问题,同时保证了镜像的稳定性和安全性。利用 Github Action 的自动化功能,使得这一过程更加简单和高效。
691 2
|
2天前
|
Linux Docker 容器
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
Docker02--搭建Linux环境,配置Docker,docker images无法访问,因为docker没有启动,阿里云镜像加速器免费的
|
3天前
|
缓存 Ubuntu Docker
怎么减小Docker的镜像体积?
**Docker 镜像优化目标:**提升构建速度、减小镜像大小、增强安全性和效率。**技巧:**1) 选择轻量级基础镜像(如Alpine、Ubuntu Minimal);2) 使用多阶段构建,分阶段复制文件和执行操作;3) 利用缓存加速构建,避免不必要的重复;4) 合并`RUN`指令减少镜像层数。这些方法能显著优化镜像,提高性能和节省存储空间。
|
1月前
|
存储 持续交付 数据安全/隐私保护
实现镜像管理轻松搞定:Docker 仓库管理详解
实现镜像管理轻松搞定:Docker 仓库管理详解
271 1