Docker搭建私有仓库

本文详细介绍了如何搭建Docker私有仓库,包括Registry V2的使用,讲解了私有仓库的优势,如节省网络带宽和提高镜像利用效率。通过步骤演示了从下载registry镜像到实现加密访问控制的全过程,包括镜像上传、下载以及客户端测试。
摘要由CSDN通过智能技术生成

一、什么是私有仓库:

  • 仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
  • 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool等,可以提供大陆用户更稳定快速的访问。
  • 当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

二、私有仓库的优势:

  • 有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,
    这点跟Maven的管理类似。
  • 使用私有仓库有许多优点:
    1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
    2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。
  • 目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1。Registry v2使用Go语言编写,在性能和安全性上做了很多优化,重新设计了镜像的存储格式。如果需要安装registry v2,只需下载registry:2.2即可。
  • Docker官方提供的工具docker-registry可以用于构建私有的镜像仓库。

三、如何搭建私有仓库

  • 第一种用docker命令拉取docker registry,将docker的仓库镜像拉取到本地,在本地构建一个docker仓库,这种方法要自己对仓库进行权限管理,没有图形化页面操作,命令操作比较繁琐,另外在dockertoolbox下搭建私有镜像库出现的问题比较多,建议还是安装linux系统进行搭建。
  • 第二种集成harbor,docker-compose可以进行图形化页面仓库以及图形化权限管理,harbor也集成了mysql和log。
    我们今天就先来讲一下registory私有仓库的搭建

四、Registry私有仓库的搭建

Registry工作原理
一次docker pull 或 push背后发生的事情
在这里插入图片描述
index服务主要提供镜像索引以及用户认证的功能。当下载一个镜像的时候,首
先会去index服务上做认证,然后查找镜像所在的registry的地址并放回给
docker客户端,docker客户端再从registry下载镜像,在下载过程中 registry会
去index校验客户端token的合法性,不同镜像可以保存在不同的registry服务上,
其索引信息都放在index服务上。

Docker Registry有三个角色,分别是index、registry和registry client。

  • index
    负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。
    Web UI
    元数据存储
    认证服务
    符号化

  • registry
    是镜像和图表的仓库,它不具有本地数据库以及不提供用户认证,
    通过Index Auth service的Token的方式进行认证。

  • Registry Client
    Docker充当registry客户端来维护推送和拉取,以及客户端的授权。
    1.下载registry镜像
    在这里插入图片描述
    这里的虚拟机一定要能上网才可以
    2.运行容器
    在这里插入图片描述
    3.上传localhost:5000/nginx(镜像随便选,但是必须得是本地localhost或者localhost:5000)
    首先我们给nginx镜像的的标签设置为localhost:5000/nginx,本地镜像在命名时需要加上仓库的ip和端口

    [root@server1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值