type
status
date
slug
summary
tags
category
icon
password
上一节我们讲了实战项目:docker部署springboot项目,我介绍了镜像的基本操作和镜像的原理以及如何利用docker部署springboot项目,那么有了镜像,我们应该如何更好地存储和分发镜像呢?答案就是今天的主角——Docker 的镜像仓库
仓库(Repository)是存储和分发 Docker 镜像的地方。镜像仓库类似于代码仓库,Docker Hub 的命名来自 GitHub,Github 是我们常用的代码存储和分发的地方。同样 Docker Hub 是用来提供 Docker 镜像存储和分发的地方。
有的同学可能经常分不清注册服务器(Registry)和仓库(Repository)的概念。在这里我可以解释下这两个概念的区别:注册服务器是存放仓库的实际服务器,而仓库则可以被理解为一个具体的项目或者目录;注册服务器可以包含很多个仓库,每个仓库又可以包含多个镜像。例如我的镜像地址为 docker.io/centos,docker.io 是注册服务器,centos 是仓库名。 它们之间的关系如图 1 所示。
notion image
图 1
按照类型,我们将镜像仓库分为公共镜像仓库私有镜像仓库

公共镜像仓库

公共镜像仓库一般是 Docker 官方或者其他第三方组织(阿里云腾讯云华为云等)提供的,允许所有人注册和使用的镜像仓库。
Docker Hub 是全球最大的镜像市场,目前已经有超过 10w 个容器镜像,这些容器镜像主要来自软件供应商、开源组织和社区。大部分的操作系统镜像和软件镜像都可以直接在 Docker Hub 下载并使用。
notion image
图 2
图 2 Docker Hub 镜像
下面我以 Docker Hub 为例,教你如何使用公共镜像仓库分发和存储镜像。

1、注册 Docker Hub 账号

我们首先访问Docker Hub官网,点击注册按钮进入注册账号界面。
notion image
图 3
图 3 注册 Docker Hub 账号

2、创建仓库

注册完成后,我们可以点击创建仓库,新建一个仓库用于推送镜像。
notion image
图 4
notion image
图 4
图四 创建仓库 其中public公共镜像仓库、private私有镜像仓库

3、push镜像到远程仓库

这里我的账号为 cativen,创建了一个名称为 fishexam2的仓库,创建好仓库后我们就可以推送本地镜像到这个仓库里了。下面我通过一个实例来演示一下如何推送镜像到自己的仓库中。
在推送镜像仓库前,我们需要使用docker login命令先登录一下镜像服务器,因为只有已经登录的用户才可以推送镜像到仓库。
使用docker login命令登录镜像服务器,这时 Docker 会要求我们输入用户名和密码,输入我们刚才注册的账号和密码,看到Login Succeeded表示登录成功。登录成功后就可以推送镜像到自己创建的仓库了。
使用docker image命令查看当前服务器存在的镜像。
在本地镜像推送到自定义仓库前,我们需要先把镜像“重命名”一下,才能正确推送到自己创建的镜像仓库中,使用docker tag命令将镜像“重命名”:
使用docker push远程推送镜像
此时我们查看远程仓库的镜像是否存在
notion image

4、使用另外一台服务器查看可行性

使用docker pull拉取刚刚上传到远程仓库的镜像
使用docker run运行镜像
最终的效果
notion image
 
基于Springboot的高校就业信息统计实战:在Docker上部署Springboot项目(附源码)
IT小舟
IT小舟
微信公众号:IT小舟
公告
type
status
date
slug
summary
tags
category
icon
password
notion image
你好,我是小舟。 欢迎来到我的博客,我喜欢运动、阅读、音乐和写作。如果有什么想要交流的,可以加我微信:upcodezhou。再次感谢你的光临!
notion image