type
status
date
slug
summary
tags
category
icon
password
AI summary
上一节我们讲了实战项目:docker部署springboot项目,我介绍了镜像的基本操作和镜像的原理以及如何利用docker部署springboot项目,那么有了镜像,我们应该如何更好地存储和分发镜像呢?答案就是今天的主角——Docker 的镜像仓库。
仓库(Repository)是存储和分发 Docker 镜像的地方。镜像仓库类似于代码仓库,Docker Hub 的命名来自 GitHub,Github 是我们常用的代码存储和分发的地方。同样 Docker Hub 是用来提供 Docker 镜像存储和分发的地方。
有的同学可能经常分不清注册服务器(Registry)和仓库(Repository)的概念。在这里我可以解释下这两个概念的区别:注册服务器是存放仓库的实际服务器,而仓库则可以被理解为一个具体的项目或者目录;注册服务器可以包含很多个仓库,每个仓库又可以包含多个镜像。例如我的镜像地址为 docker.io/centos,docker.io 是注册服务器,centos 是仓库名。 它们之间的关系如图 1 所示。
图 1
按照类型,我们将镜像仓库分为公共镜像仓库和私有镜像仓库。
公共镜像仓库
公共镜像仓库一般是 Docker 官方或者其他第三方组织(阿里云,腾讯云,华为云等)提供的,允许所有人注册和使用的镜像仓库。
Docker Hub 是全球最大的镜像市场,目前已经有超过 10w 个容器镜像,这些容器镜像主要来自软件供应商、开源组织和社区。大部分的操作系统镜像和软件镜像都可以直接在 Docker Hub 下载并使用。
图 2
图 2 Docker Hub 镜像
下面我以 Docker Hub 为例,教你如何使用公共镜像仓库分发和存储镜像。
1、注册 Docker Hub 账号
我们首先访问Docker Hub官网,点击注册按钮进入注册账号界面。
图 3
图 3 注册 Docker Hub 账号
2、创建仓库
注册完成后,我们可以点击创建仓库,新建一个仓库用于推送镜像。
图 4
图 4
图四 创建仓库 其中public公共镜像仓库、private私有镜像仓库
3、push镜像到远程仓库
这里我的账号为 cativen,创建了一个名称为 fishexam2的仓库,创建好仓库后我们就可以推送本地镜像到这个仓库里了。下面我通过一个实例来演示一下如何推送镜像到自己的仓库中。
在推送镜像仓库前,我们需要使用
docker login
命令先登录一下镜像服务器,因为只有已经登录的用户才可以推送镜像到仓库。使用
docker login
命令登录镜像服务器,这时 Docker 会要求我们输入用户名和密码,输入我们刚才注册的账号和密码,看到Login Succeeded
表示登录成功。登录成功后就可以推送镜像到自己创建的仓库了。使用
docker image
命令查看当前服务器存在的镜像。在本地镜像推送到自定义仓库前,我们需要先把镜像“重命名”一下,才能正确推送到自己创建的镜像仓库中,使用
docker tag
命令将镜像“重命名”:使用
docker push
远程推送镜像此时我们查看远程仓库的镜像是否存在
4、使用另外一台服务器查看可行性
使用
docker pull
拉取刚刚上传到远程仓库的镜像使用
docker run
运行镜像最终的效果
- 作者:IT小舟
- 链接:https://codegym.top/article/%E4%BD%A0%E7%9A%84%E7%A7%81%E6%9C%89%E4%BB%93%E5%BA%93
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。