harbor私有仓库部署
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
- yum -y install docker-ce
- systemctl restart docker && systemctl enable docker
要想用其他节点都要添加
- cat > /etc/docker/daemon.json <<EOF
- {
- "insecure-registries":["https://hub.wql.com"] #仓库域名
- }
- EOF
- mkdir -p /etc/systemd/system/docker.service.d
- 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
- yum -y install lrzsz
- mv docker-compose /usr/local/bin
- 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
- tar -zxvf harbor-offline-installer-v1.2.0.tgz
- mv harbor /usr/local/
- cd /usr/local/harbor/
- [root@harbor harbor]# vim harbor.cfg
- 5 hostname = hub.wql.com 域名
- 9 ui_url_protocol = https 协议
- 24 ssl_cert = /data/cert/server.crt #创建一下/data/cert 目录
- mkdir -p /data/cert
4. 创建证书
- cd /data/cert
- ]# openssl genrsa -des3 -out server.key 2048
- Enter pass phrase for server.key: 这里输入密码,随便填
- Verifying - Enter pass phrase for server.key:
- [root@harbor cert]# openssl req -new -key server.key -out server.csr #创建证书请求
- Enter pass phrase for server.key: 输入密码
- You are about to be asked to enter information that will be incorporated
- into your certificate request.
- What you are about to enter is what is called a Distinguished Name or a DN.
- There are quite a few fields but you can leave some blank
- For some fields there will be a default value,
- If you enter '.', the field will be left blank.
- -----
- Country Name (2 letter code) [XX]:CN 国家
- State or Province Name (full name) []:BJ 城市
- Locality Name (eg, city) [Default City]:BJ 地方
- Organization Name (eg, company) [Default Company Ltd]:wql 机构
- Organizational Unit Name (eg, section) []:wql 组织
- Common Name (eg, your name or your server's hostname) []:hub.wql.com 邮箱
- Email Address []:wqlong0821@163.com 管理员邮箱
- Please enter the following 'extra' attributes
- to be sent with your certificate request
- A challenge password []: 是否改密码(这里直接回车)
- An optional company name []:
- cp server.key server.key.org 备份一下
- openssl rsa -in server.key.org -out server.key 转换证书(去掉密码)
- openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 签名
- chmod a+x * 赋权
- 共4个
5.运行脚本进行安装
- cd /usr/local/harbor/
- ./install.sh
- vim /etc/hosts
- 192.168.4.10 master01
- 192.168.4.50 node01
- 192.168.4.51 node02
- 192.168.4.53 hub.wql.com
6.验证浏览器访问
请注意,默认管理员用户名 / 密码为 admin / Harbor12345
要在/usr/local/harbor/目录
- 重启harbor
- ./prepare
- docker-compose down //关闭docker-compose
- docker-compose up -d //开启docker-compose
7.命令行登录测试
- ~]# docker login https://hub.wql.com
- Username: admin #用户名
- Password: #密码
- WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
- Configure a credential helper to remove this warning.
- See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
- Login Succeeded
8.推送镜像
- 把镜像打标签,并上传harbor
- docker tag nginx:v1 hub.wql.com/library/nginx:v1
- docker push hub.wql.com/library/nginx:v1
下载测试
- docker pull hub.wql.com/library/nginx:v1
- kubectl run nginx1-deployment --image=hub.wql.com/library/nginx:v1 --port=80 --replicas=1
- kubectl get pod
- kubectl get pod -o wide
- curl 10.244.3.24
harbor私有仓库部署的更多相关文章
- Docker Harbor私有仓库部署与管理 (超详细配图)
Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...
- harbor私有仓库
私有仓库部署在部署节点上 解压此压缩包(压缩包在上篇博文<kubernetes部署中有链接,可下载>) tar xzf harbor-offline-installer-v1.4.0.tg ...
- 搭建harbor私有仓库
2-1.项目说明 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由VMware开源,其通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源 Docke ...
- Harbor私有仓库中如何彻底删除镜像释放存储空间?
简介: Harbor私有仓库运行一段时间后,仓库中存有大量镜像,会占用太多的存储空间.直接通过Harbor界面删除相关镜像,并不会自动删除存储中的文件和镜像.需要停止Harbor服务,执行垃圾回收命令 ...
- Docker以http访问Harbor私有仓库(一)
1 说明 前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库 2 Docker配置 2.1 Mac系统 2.1.1 配置D ...
- Docker以https访问Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(二)中,我们以https方式搭建了Harbor,本篇我们主要配置Docker以https方式访问Harbor私有仓库 2 Docker配置 2.1 ...
- Centos7搭建Harbor私有仓库(二)
1 说明 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式 以下基于镜像CentOS-7-x86_64-Minimal ...
- 在jenkins中使用shell命令推送当前主机上的docker镜像到远程的Harbor私有仓库
1.jenkins主机上的docker配置 先在Jenkins主机的docke上配置上Harbor私有仓库地址 cat /etc/docker/daemon.json { "insecure ...
- 创建Harbor私有仓库
前提 1.安装docker服务 参考:https://blog.csdn.net/weixin_36522099/article/details/108861134 老名字:docker.docker ...
随机推荐
- TCP连接性能指标之TCP关闭过程(四次挥手)
TCP关闭过程(四次挥手): ESTABLISHED: 当前建立连接状态 CLOSE_WAIT:Server端收到来自Client端的FIN包后,发送ACK回Client端,进入CLOSE_WAIT ...
- 微信小程序-TodoList
TodoList 博客班级 https://edu.cnblogs.com/campus/zjcsxy/SE2020 作业要求 https://edu.cnblogs.com/campus/zjcsx ...
- git rebase的时候捅娄子了,怎么办?在线等……
大家在使用git的过程当中有闯过祸吗? 我闯过,我闯的第一个祸就是使用git rebase造成的,虽然后来最终还是解决了,但是还是给我吓得不轻.当时的事情是这样的. 我们来看下这张图: 简单解释一下这 ...
- 线程池基本使用和ThreadPoolExecutor核心原理讲解
原文地址:https://www.jianshu.com/p/ec5b8cccd87d java和spring都提供了线程池的框架 java提供的是Executors: spring提供的是Threa ...
- CF957E Contact ATC
二维偏序(逆序对) 因为风速vf,-w<=vf<=w,因此我们可以算出每一艘船到达原点的时间的取值范围 即取vf=w和vf=-w时,记ai为当vf=w时的用时,记bi为当vf=-w时的用时 ...
- python语言编程算法
编程题 1 台阶问题/斐波那契 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. fib = lambda n: n if n <= 2 else fi ...
- CSS3之线性渐变(linear gradients)
线性渐变(linear gradients)沿着一根轴线改变颜色,从起点到终点颜色进行顺序渐变. 语法: background:linear-gradient(direction,color-stop ...
- sql实现通过父级id查询所有的子集
通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, ...
- RESTFul服务开发必备的一款IDEA插件!用了就离不开了
我们经常谈 RESTful Web 服务开发,但是我发现很多人实际就根本不懂这个概念.只是听着大家都这么说,也就跟着一起说了,哈哈哈! 因此,在开始推荐这个IDEA插件之前,非常有必要花一小会时间简单 ...
- kettle连接报错
如何查看端口号 cmd命令行 输入mysql -u root -p密码进入mysql 输入show global variables like 'port'; 就可以看到端口号3306 测试数据库链接 ...