搭建私有仓库的两种方式:

Registry

Harbor

 一、registry的搭建

docker官方提供了一个搭建私有仓库的镜像registry,只需下载镜像,运行容器并暴露5000端口即可。

registry服务默认会将上传的镜像保存在容器的 /var/lib/registry,我们将主机的 /opt/registry目录挂载到该目录,即可实现将镜像保存到主机的 /opt/registry目录了。

浏览器访问 http://192.168.100.107:5000/v2,出现下面情况说明registry运行正常。

验证:

通过推送镜像到registry,来验证一下。

查看本地镜像。

给镜像打标签。

[root@dokcer ~]# [root@dokcer ~]# docker tag mysql:latest localhost:5000/mysql:666    标签格式:server端 ip + 端口 + 镜像名(必须)

  

通过docker push命令将镜像推送到远程仓库。

      访问http://192.168.100.107:5000/v2/_catalog查看私有仓库,就可以看到刚刚上传的镜像了。

打开192.168.100.102,从102往107推送镜像。

102使用docker下载redis镜像。

给redis打标签并查看。

往107上推送redis镜像。

报错提示 不支持http只支持https 解决方法如下:

在102上执行

{
     "registry-mirrors": ["https://w4uieobw.mirror.aliyuncs.com"],
     "insecure-registries": ["192.168.100.107:5000"]
  }

配置完重启docker生效。

再次推送。

推送成功后访问http://192.168.100.107:5000/v2/_catalog,可以看到我们往仓库推送的nginx镜像。

二、搭建harbor私有镜像仓库

  什么是Harbot?

VMware的开源项目https://github.com/vmware/harbor

harbor可帮助用户迅速搭建企业级的注册服务。它提供了管理图形界面,基于角色的访问控制(Role Based Access Control),镜像远程复制同步,AD/lDAP集成,以及审计日志等企业用户需求的功能,同时还 原生支持中文。

组件                                作用
  Proxy    通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端不同的服务
  Registry    (核心组件)负责储存Docker镜像,并处理docker push/pull命令
  Core services    Harbor的核心功能, 包括UI、webhook、 token服务
  Database    为core services提供数据库服务
  Log collector    负责收集其他组件的log,供日后进行分

安装部署前置条件

  • 在安装harbor的服务器上先安装docker (过程略)

下载并解压harbor    下载:https://github.com/goharbor/harbor/releases/tag/v1.7.5

[root@dokcer ~]# tar xf harbor-offline-installer-v1.7.5.tgz -C /usr/local/

安装docker-compse

wget "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -O /usr/local/bin/docker-compose

安装harbor

         ## 编辑该文件

          ## hostname修改为本机IP

         ## 安装harbor

从102往107上传镜像

  ## 可以看到仓库上已经有了

   ## 107本地查看镜像,此时无tomcat:666

          ## 从仓库拉取镜像

     ##  再次查看,拉取成功。

最新文章

  1. entrar en su zapatilla de deporte en este lugar
  2. c# 备份数据库恢复数据库
  3. Handler "BlockViewHandler" has a bad module "ManagedPipelineHandler" in its module list
  4. 使用 PHPMailer 发送邮件
  5. elasticsearch 之IK分词器安装
  6. linux----suid\sgid
  7. AccountManager使用教程
  8. HDU 5834 Magic boy Bi Luo with his excited tree
  9. 设计模式之创建类模式PK
  10. 在sublimen中整理CSS代码及其兼容性问题
  11. 【原创】大叔问题定位分享(5)Kafka客户端报错SocketException: Too many open files 打开的文件过多
  12. 使用node.js + json-server + mock.js 搭建本地开发mock数据服务
  13. android 开启闪光灯小应用
  14. JavaScript隐藏的坑一,隐式调用toString
  15. dart基础语法
  16. Linux驱动之按键驱动编写(查询方式)
  17. Redis 操作哈希数据
  18. TensorFlow笔记-05-反向传播,搭建神经网络的八股
  19. revit API 生成墙图元
  20. 微软正式发布VS2015和.Net为开发者提供数百个新功能

热门文章

  1. Pytorch之Spatial-Shift-Operation的5种实现策略
  2. 《剑指offer》面试题59 - I. 滑动窗口的最大值
  3. 【小测试】使用腾讯云上的群集版redis
  4. 一次神奇的Azure speech to text rest api之旅
  5. blender建模常用建模快捷键
  6. gorm中动态使用表名
  7. Tomcat-Tomcat服务器实例使用的其他细节说明
  8. web服务组件
  9. List<Integer>里有可能存String类型元素吗?
  10. Grad-CAM:Visual Explanations from Deep Networks via Gradient-based Localization