docker仓库(未完)

一、docker仓库

1.docker仓库简介

Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。
Docker运行中使用的默认仓库是 Docker Hub 公共仓库。

2.docker hub

在这里插入图片描述
docker search 应用,可以看到该应用的官方仓库在哪里:
比如:docker info
在这里插入图片描述

3.在官方注册账号并建立docker仓库

首先在https://hub.docker.com/网站注册一个账号
在docker hub上新建一个公共仓库

注意:此处由于我们是在官方新建了仓库,所以我们下面的docker login 也是直接登陆到官方,(可以使用docker info 查看仓库地址)
在这里插入图片描述
在这里插入图片描述
下图展示了 该用户的官方认证信息保存在.docker目录中,这样就保证了后续的操作就不需要频繁的login,只需要login一次就可以了。
在这里插入图片描述

在这里插入图片描述
做完上述操作,刷新一下该页面,就能得到如下界面。

在这里插入图片描述
并且在客户端也能搜得到:
在这里插入图片描述

4.docker hub帐号的注销

docker logout #注销帐号
在这里插入图片描述
注意:login一次就好,上传的时候也只需要在login时认证一次,注销后需要重新认证。

5.docker hub镜像的删除

在这里插入图片描述

二、Registry 工作原理

一次docker pull 或 push背后发生的事情:
在这里插入图片描述
Docker Registry有三个角色,分别是index、registry和registry client。
(1)index
负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。
Web UI
元数据存储
认证服务
符号化
(2)registry
是镜像和图表的仓库,它不具有本地数据库以及不提供用户认证,通过Index Auth service的Token的方式进行认证。
(3)Registry Client
Docker充当registry客户端来维护推送和拉取,以及客户端的授权。

以下 是几种访问情形。

docker用户端向index端提出访问申请,然后,index端将镜像地址以及token返回给客户端,客户端知道了镜像地址以后拿着token去取镜像,registry端此时会和index端做一次token校验,确认token的真实性,确认无误后,会允许客户端下载镜像。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、镜像加速器

从docker hub上下载镜像的速度太慢,需要配置镜像加速器,这里以阿里云为例:(需要提前注册阿里云帐号)

整体操作思路如下:
配置docker daemon文件:
vim /etc/docker/daemon.json
{
“registry-mirrors”: [“阿里云加速器地址”]
}
重载docker服务:
systemctl daemon-reload
systemctl restart docker

(1)获取阿里云加速器地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里获得了阿里云的镜像加速器地址。

(2)修改daemon配置文件</etc/docker/daemon.json>来使用加速器

vim /etc/docker/daemon.json

{
  "registry-mirrors": ["https://t5ajcuue.mirror.aliyuncs.com"]
}

(3)导入配置并重启服务

systemctl daemon-reload                 #重新导入daemon配置
 
systemctl restart docker                #重启docker

docker info      
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Docker中,设置一个仓库(通常称为Registry)是存储和分发Docker镜像的地方。主要有两个常见的Docker官方仓库Docker Hub(免费公开,适合个人项目)和私有Registry(例如Docker Trusted Registry或ECS Elastic Container Registry)。以下是设置Docker仓库的基本步骤: 1. **使用Docker Hub**: - 注册并登录Docker Hub账号。 - 使用`docker login`命令登录,提供你的用户名和密码或者使用GitHub、GitLab等第三方账户进行认证。 - 构建Docker镜像后,使用`docker push <your_username>/<image_name:tag>`上传到你的个人仓库。 2. **使用私有Registry**: - **安装Docker Registry**:如果你有自己的服务器,可以安装Docker Registry。例如,使用DTR的话,可以下载安装包并按照官方文档配置。 - **认证设置**:创建管理员或普通用户的认证,比如通过Kubernetes Secret或环境变量传递访问密钥。 - **上传镜像**:构建的镜像使用`docker push <registry_url>/<namespace>/<image_name:tag>`命令推送到私有Registry。 3. **设置镜像标签和版本控制**: - 使用标签(tag)来区分不同版本的镜像,如`latest`, `v1.0`等。 - 使用Dockerfile的`ARG`或`FROM`指令来管理镜像基础版本,便于构建和升级。 4. **推送镜像到私有Registry**: - 使用相同的认证方式(如果在私有Registry上),将镜像推送到指定的仓库路径。 **相关问题--:** 1. Docker Hub和私有Registry的区别是什么? 2. 如何在Dockerfile中设置镜像版本? 3. 私有Registry如何进行安全访问控制?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值