Harbor 简介

    Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。

1. 安装docker

  1. yum -y install docker-ce
  2.  
  3. systemctl restart docker && systemctl enable docker

要想用其他节点都要添加

  1. cat > /etc/docker/daemon.json <<EOF
  2.  
  3. {
  4.  
  5. "insecure-registries":["https://hub.wql.com"]  #仓库域名
  6.  
  7. }
  8.  
  9. EOF
  10.  
  11. mkdir -p /etc/systemd/system/docker.service.d
  12.  
  13. systemctl daemon-reload && systemctl restart docker && systemctl enable docker

2.安装docker编排工具compose

最好自己网站下载,容易报错

下载地址:

curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m`  > /usr/local/bin/docker-compose

https://github.com/docker/compose/releases/tag/1.14.0-rc2

https://github.com/docker/compose/releases/tag/1.25.0-rc4

wget https://github.com/docker/compose/releases/tag/1.14.0-rc2/docker-compose-Linux-x86_64

  1. yum -y install lrzsz
  2.  
  3. mv docker-compose /usr/local/bin
  4.  
  5. Chmod a+x /usr/local/bin/docker-compose

3.安装harbor

下载地址:  Harbor  官方地址: https://github.com/vmware/harbor/releases

包地址:https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz

  1. tar -zxvf harbor-offline-installer-v1.2.0.tgz
  2.  
  3. mv harbor /usr/local/
  4.  
  5. cd /usr/local/harbor/
  6.  
  7. [root@harbor harbor]# vim harbor.cfg
  8.  
  9. 5 hostname = hub.wql.com 域名
  10.  
  11. 9 ui_url_protocol = https 协议
  12.  
  13. 24 ssl_cert = /data/cert/server.crt   #创建一下/data/cert 目录
  14.  
  15. mkdir -p /data/cert

4. 创建证书

  1. cd /data/cert
  2.  
  3. ]# openssl genrsa -des3 -out server.key 2048
  4.  
  5. Enter pass phrase for server.key: 这里输入密码,随便填
  6.  
  7. Verifying - Enter pass phrase for server.key:
  8.  
  9. [root@harbor cert]# openssl req -new -key server.key -out server.csr #创建证书请求
  10.  
  11. Enter pass phrase for server.key: 输入密码

  12. You are about to be asked to enter information that will be incorporated
  13.  
  14. into your certificate request.
  15.  
  16. What you are about to enter is what is called a Distinguished Name or a DN.
  17.  
  18. There are quite a few fields but you can leave some blank
  19.  
  20. For some fields there will be a default value,
  21.  
  22. If you enter '.', the field will be left blank.
  23.  
  24. -----
  25.  
  26. Country Name (2 letter code) [XX]:CN 国家
  27.  
  28. State or Province Name (full name) []:BJ 城市
  29.  
  30. Locality Name (eg, city) [Default City]:BJ 地方
  31.  
  32. Organization Name (eg, company) [Default Company Ltd]:wql 机构
  33.  
  34. Organizational Unit Name (eg, section) []:wql 组织
  35.  
  36. Common Name (eg, your name or your server's hostname) []:hub.wql.com 邮箱
  37.  
  38. Email Address []:wqlong0821@163.com 管理员邮箱
  39.  
  40. Please enter the following 'extra' attributes
  41.  
  42. to be sent with your certificate request
  43.  
  44. A challenge password []: 是否改密码(这里直接回车)
  45.  
  46. An optional company name []:
  47.  


  48. cp server.key server.key.org 备份一下
  49.  
  50. openssl rsa -in server.key.org -out server.key 转换证书(去掉密码)
  51.  
  52. openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 签名
  53.  
  54. chmod a+x * 赋权
  55.  
  56. 共4个

5.运行脚本进行安装

  1. cd /usr/local/harbor/
  2.  
  3. ./install.sh
  4.  
  5. vim /etc/hosts
  6.  
  7. 192.168.4.10 master01
  8.  
  9. 192.168.4.50 node01
  10.  
  11. 192.168.4.51 node02
  12.  
  13. 192.168.4.53 hub.wql.com

6.验证浏览器访问

https://hub.wql.com/

请注意,默认管理员用户名 / 密码为 admin / Harbor12345

要在/usr/local/harbor/目录

  1. 重启harbor
  2.  
  3. ./prepare
  4.  
  5. docker-compose down   //关闭docker-compose
  6.  
  7. docker-compose up -d   //开启docker-compose

7.命令行登录测试

  1. ~]# docker login https://hub.wql.com
  2.  
  3. Username: admin  #用户名
  4.  
  5. Password:  #密码
  6.  
  7. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
  8.  
  9. Configure a credential helper to remove this warning.
  10.  
  11. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
  12.  
  13. Login Succeeded

8.推送镜像

  1. 把镜像打标签,并上传harbor
  2.  
  3. docker tag nginx:v1 hub.wql.com/library/nginx:v1
  4.  
  5. docker push hub.wql.com/library/nginx:v1

下载测试

  1. docker pull hub.wql.com/library/nginx:v1
  2.  
  3. kubectl run nginx1-deployment --image=hub.wql.com/library/nginx:v1 --port=80 --replicas=1
  4.  
  5. kubectl get pod
  6.  
  7. kubectl get pod -o wide
  8.  
  9. curl 10.244.3.24

harbor私有仓库部署的更多相关文章

  1. Docker Harbor私有仓库部署与管理 (超详细配图)

    Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...

  2. harbor私有仓库

    私有仓库部署在部署节点上 解压此压缩包(压缩包在上篇博文<kubernetes部署中有链接,可下载>) tar xzf harbor-offline-installer-v1.4.0.tg ...

  3. 搭建harbor私有仓库

    2-1.项目说明  Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware开源,其通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源 Docke ...

  4. Harbor私有仓库中如何彻底删除镜像释放存储空间?

    简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间.直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像.需要停止Harbor服务,执行垃圾回收命令 ...

  5. Docker以http访问Harbor私有仓库(一)

    1 说明 前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库 2 Docker配置 2.1 Mac系统 2.1.1 配置D ...

  6. Docker以https访问Harbor私有仓库(二)

    1 说明 前文Centos7搭建Harbor私有仓库(二)中,我们以https方式搭建了Harbor,本篇我们主要配置Docker以https方式访问Harbor私有仓库 2 Docker配置 2.1 ...

  7. Centos7搭建Harbor私有仓库(二)

    1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...

  8. 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库

    1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...

  9. 创建Harbor私有仓库

    前提 1.安装docker服务 参考:https://blog.csdn.net/weixin_36522099/article/details/108861134 老名字:docker.docker ...

随机推荐

  1. TCP连接性能指标之TCP关闭过程(四次挥手)

    TCP关闭过程(四次挥手): ESTABLISHED: 当前建立连接状态 CLOSE_WAIT:Server端收到来自Client端的FIN包后,发送ACK回Client端,进入CLOSE_WAIT ...

  2. 微信小程序-TodoList

    TodoList 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus/zjcsx ...

  3. git rebase的时候捅娄子了,怎么办?在线等……

    大家在使用git的过程当中有闯过祸吗? 我闯过,我闯的第一个祸就是使用git rebase造成的,虽然后来最终还是解决了,但是还是给我吓得不轻.当时的事情是这样的. 我们来看下这张图: 简单解释一下这 ...

  4. 线程池基本使用和ThreadPoolExecutor核心原理讲解

    原文地址:https://www.jianshu.com/p/ec5b8cccd87d java和spring都提供了线程池的框架 java提供的是Executors: spring提供的是Threa ...

  5. CF957E Contact ATC

    二维偏序(逆序对) 因为风速vf,-w<=vf<=w,因此我们可以算出每一艘船到达原点的时间的取值范围 即取vf=w和vf=-w时,记ai为当vf=w时的用时,记bi为当vf=-w时的用时 ...

  6. python语言编程算法

    编程题 1 台阶问题/斐波那契 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. fib = lambda n: n if n <= 2 else fi ...

  7. CSS3之线性渐变(linear gradients)

    线性渐变(linear gradients)沿着一根轴线改变颜色,从起点到终点颜色进行顺序渐变. 语法: background:linear-gradient(direction,color-stop ...

  8. sql实现通过父级id查询所有的子集

    通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, ...

  9. RESTFul服务开发必备的一款IDEA插件!用了就离不开了

    我们经常谈 RESTful Web 服务开发,但是我发现很多人实际就根本不懂这个概念.只是听着大家都这么说,也就跟着一起说了,哈哈哈! 因此,在开始推荐这个IDEA插件之前,非常有必要花一小会时间简单 ...

  10. kettle连接报错

    如何查看端口号 cmd命令行 输入mysql -u root -p密码进入mysql 输入show global variables like 'port'; 就可以看到端口号3306 测试数据库链接 ...