docker私有仓库(registry、harbor)

1.docker仓库

仓库(Repository)是集中存放镜像的地方

1.1公共仓库

所有人都可以访问的一个远程docker仓库,该仓库中的所有镜像都是公开的,供下载使用
docker官方维护的公共仓库:
docker hub
国内的一些docker公共仓库:
DaoCloud
阿里云

1.2私有仓库

只有个人或团队内部的docker仓库,只有本地局域网的主机或通过授权的用户可以访问该仓库

几种搭建私有仓库的方案:
1.docker官方提供的搭建私有仓库工具registry
2.harbor私有仓库

1.2.1为什么要搭建私有仓库

  • 公共仓库的镜像虽然多,但是没有针对于自己生产环境的镜像,不同生产环境对于镜像有不同需求
  • 上传自己生产环境的镜像至公共仓库,任何人都可以下载,没有私密性、安全性
  • dockerhub公共仓库毕竟是远程服务器,在下载连接速度会受到很大影响,影响工作效率

2.利用registry搭建私有仓库

Docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了

#拉去registry镜像
docker pull registry
#启动registry容器
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregirstry 678
##容器内默认/var/lib/registry用于存放上传的镜像,将其做挂载便于在宿主机查看,服务端口为5000做映射,678为镜像ID

访问网址192.168.58.20:5000/v2
可以查看到存储在仓库内的镜像

3.harbor私有仓库

  • Harbor是VMware公司的开源级的企业级DockerRegistry(仓库)项目
  • Harbor的目标是帮助用户迅速搭建一个企业级的DockerRegistry服务。
  • Harbor以docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制(Role Based Access
    Control),AD/LDAP集成,以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
  • Harbor的每个组件都是以Docker容器的形式构建的,使用docker-compose来对它进行部署。
  • Docker harbor有可视化的web管理界面,可以方便管理Docker镜像,又提供了多个项目的镜像权限管理及控制功能

3.1优点

  1. 基于角色控制:用户与Docker镜像仓库通过"项目"进行组织管理,一个用户可以对多个镜像仓库在统一命名空间(projec)里有不同的权限
  2. 图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间
  3. 审计管理:所有这怒地镜像仓库的错都可以被记录追溯,用于审计管理
  4. 基于镜像的复制策略:镜像可以在多个Harbor实例之间进行复制。
  5. 支持LDAP认证:Harbor的用户授权可以使用已经存在的用户。
  6. 镜像删除和垃圾回收:image可以被删除并且回收image占用的空间。
  7. 简单的部署功能:harbor提供了online、offline安装,此外还提供了virtualappliance安装
  8. harbor和docker registry的关系:harbor实质上是对docker registry做了封装,扩展了自己的业务模板。

3.2搭建harbor私有仓库

确保docker-compose可以正常使用
harbor的各个组件用docker-compose构建为容器

which docker-compose
/usr/local/bin/docker-compose

docker-compose version
#查看版本信息

部署harbor

tar -zxvf harbor-offline-installer-v1.2.2.tgz
cd harbor/
vi harbor.cfg
hostname = 192.168.58.30	#修改主机名为本机IP

sh install.sh		#使用其自带脚本部署harbor

登录192.168.58.30
默认账户名:admin
默认密码:Harbor12345
在这里插入图片描述
点击+项目,添加私有仓库
在这里插入图片描述
设置仓库名及设置公有/私有
在这里插入图片描述
此时创建好名为test的私有仓库
在这里插入图片描述
点击管理test仓库,点击推送镜像可查看推送镜像至此仓库方法
在这里插入图片描述
添加可使用此仓库的成员
在这里插入图片描述

3.3 harbor仓库公开和私有区别

若设为公开,所有人只需指定该仓库都可以推送及拉取该仓库的镜像,无需登录(docker login)该仓库

若设为私有,只有该仓库成员才可以登录该仓库并进行推送拉去镜像的操作
该仓库成员可在harbor管理界面添加用户,并加入该仓库的成员中。

3.4 harbor仓库维护及使用

可使用harbor目录下自带的工具来管理
工具为可供docker-compose控制的yml文件
在这里插入图片描述
需要修改harbor配置文件
若要修改harbor的配置文件,需先停止现有的harbor示例,然后运行prepare脚本来重新配置

docker-compose down -v	#移除harbor服务容器同时保留镜像数据/数据库数据,移除容器、挂载卷、网络
vi harbor.cfg
...
...

./prepare		#重新配置启动容器启动服务

如需要重新部署harbor,需要移除harbor服务容器所有数据
持久数据,如镜像,数据库,日志

rm -rf /data/database/
rm -rf /data/registry/
rm -rf /var/log/Harbor/

推送及拉取镜像

docker login 192.16858.30		#登录该harbor仓库服务器
Username:
Password:
##交互输入登入账户密码,也可在登录时用-u指定用户名、-p指定密码

#修改镜像标签,用于上传镜像
docker tag nginx:latest 192.168.58.30/test/nginx:n1
#推送
docker push 192.168.58.30/test/nginx:n1
#拉取
docker pull 192.168.58.30/test/nginx:n1

其他机器远程登录该仓库
-需修改docker.service文件,Docker Registry 交互默认使用的是 HTTPS,但是搭建私有仓库默认使用的是 HTTP 服务,所以与私有镜像交互时会报错

vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// -- insecure-registry 192.168.58.30 -- containerd=/run/containerd/containerd.sock

systemctl restart docker
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker中,可以通过使用Portus来实现docker私有仓库Registry的可视化。Portus是一个带有UI管理功能的仓库管理软件,它可以与Registry一起使用,提供更方便的图形化用户界面来浏览、检索和管理Docker镜像仓库。通过Portus,用户可以通过浏览器来管理项目和命名空间,进行权限管理,进行镜像的复制和同步,以及记录和追踪所有对镜像仓库的操作,用于审计管理。同时,Portus还支持与企业现有的AD/LDAP进行集成,方便进行鉴权认证管理。总之,使用Portus可以使docker私有仓库Registry的管理更加简单和直观。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Docker仓库之企业级可视化私有仓库Harbor(安装、快速、入门)](https://blog.csdn.net/qq_41417660/article/details/106809535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [docker私有镜像仓库registry及其可视化系统Portus的搭建【转】](https://blog.csdn.net/weixin_33898876/article/details/85966303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值