1 说明

  1. 前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式
  2. 以下基于镜像CentOS-7-x86_64-Minimal-1804进行搭建
  3. 均已root用户进行操作

2 生成自签名证书

这里我们使用https://github.com/Fishdrowned/ssl提供的shell脚本生成ssl证书,在命令行中输入以下命名:

git clone https://github.com/Fishdrowned/ssl.git #将项目下载到本地

项目的目录结构如下:

.
├── LICENSE
├── README.md
├── ca.cnf
├── docs
│ ├── chrome-certs-details.png
│ ├── chrome-certs-ok.png
│ ├── chrome-settings-certs-imported.png
│ ├── chrome-settings-certs.png
│ ├── chrome-trust.md
│ └── output.png
├── flush.sh
├── gen.cert.sh
└── gen.root.sh

如果需要修改CA、证书相关信息,可以编辑ca.cnfgen.cert.sh替换对应的内容。接下来,输入以下命令生成ssl证书,

./gen.cert.sh registry.anxminise.cc #生成registry.anxminise.cc域名的证书

目录中,会生成一个out目录,里面的registry.anxminise.cc目录存放了生成的证书,内容如下:

.
├── 20181011-0710
│   ├── registry.anxminise.cc.bundle.crt
│   ├── registry.anxminise.cc.crt
│   └── registry.anxminise.cc.csr.pem
├── registry.anxminise.cc.bundle.crt -> ./20181011-0710/registry.anxminise.cc.bundle.crt
├── registry.anxminise.cc.crt -> ./20181011-0710/registry.anxminise.cc.crt
├── registry.anxminise.cc.key.pem -> ../cert.key.pem
└── root.crt -> ../root.crt

其中,registry.anxminise.cc.crt是我们需要的证书,registry.anxminise.cc.key.pem是秘钥存储文件,将这两个文件上传到Harbor服务器,这里是192.168.1.112服务器。

3 Harbor服务器配置

3.1 配置Harbor的https证书

Harbor服务器上执行以下命令

mkdir -p /data/cert创建证书存放目录
mv registry.anxminise.cc.crt /data/cert/server.crt #将证书放到Harbor配置目录下
mv registry.anxminise.cc.key.pem /data/cert/server.key #将秘钥放到Harbor配置目录下
ll /data/cert #查看目录内容

3.2 配置Harbor以https启动

cd /opt/harbor #进入到harbor目录
vim harbor.cfg #编辑harbor的配置文件

编辑以下内容:

hostname = registry.anxminise.cc #配置harbor服务器的域名
ui_url_protocol = https #配置https方式启动

3.3 重新配置启动Harbor

./prepare #重新配置Harbor
./install.sh #重新执行Harbor安装,注:此处可能有更好的方式重启



4 https访问Harbor

4.1 编辑hosts文件

编辑本地的/etc/hosts文件,加入registry.anxminise.cc域名,如下:

vim /etc/hosts #编辑hosts文件

文件最后添加如下内容:

192.168.1.112 registry.anxminise.cc

保存并退出

4.2 添加并信任根证书

4.2.1 Mac系统

打开钥匙串访问应用,添加生成的根证书,如下:

并设置证书为始终信任,如下:

4.2.2 Windows系统

待补充

4.3 浏览器访问

浏览器中输入https://registry.anxminise.cc,如下:

Centos7搭建Harbor私有仓库(二)的更多相关文章

  1. Centos7搭建Harbor私有仓库(一)

    1 说明 前文Centos7搭建DockerRegistry介绍了DockerRegistry的搭建,但它没有UI页面,因此选择Harbor 以下基于镜像CentOS-7-x86_64-Minimal ...

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

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

  3. 搭建harbor私有仓库

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

  4. CentOS7搭建Docker私有仓库----Docker

    有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.目前Docker Registry已经升级到了v2 ...

  5. Docker-compose 搭建 Harbor私有仓库

    一. 安装docker-compose 1. 下载docker-compose的最新版本 curl -L "https://github.com/docker/compose/release ...

  6. centos7搭建docker私有仓库

    1.环境: [root@docker02 anchors]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@do ...

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

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

  8. Kubernetes-5:搭建企业级私有仓库Harbor

    搭建企业级私有仓库Harbor 安装需求 python版本 >= 2.7 Docker引擎版本 >= 1.10 docker-compose版本 >= 1.6.0 安装环境 一.Py ...

  9. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

随机推荐

  1. Executors创建四种线程池

    newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixedThreadPool 创建一个定长线程池,可控制线程 ...

  2. xcode简单教程

    1.使用Xcode软件.Xcode是一个苹果系统上的集成开发环境(IDE),就是说用Xcode就能编写C语言程序,并编译运行.也能开发ios程序等,是一种软件.在windows上类似这种能编c语言的还 ...

  3. Java Web 应用概述

    1.java Web 应用是建立在java语言基础上的企业web应用系统,oracle公司根据行业发展和便于开发制定了一套规范:Java EE规范,截至到当前(2016.3.11)是java EE7规 ...

  4. 微服务, 架构, 服务治理, 链路跟踪, 服务发现, 流量控制, Service Mesh

    微服务, 架构, 服务治理, 链路跟踪, 服务发现, 流量控制, Service Mesh 微服务架构   本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件.本文侧 ...

  5. CentOS 使用 prename修改文件名大小写的方法

    1. CentOS和ubuntu的rename的命令是不一样的. CentOS的rename 使用的是c语言版本的 而ubuntu的rename使用的是 perl的版本,意味着很多ubuntu上面的扩 ...

  6. python学习-36 文件处理b模式

    文件处理b模式 1.以2进制的方式读取 f = open('test.txt','rb') #以b模式就不能指定encoding data = f.read() print(data) f.close ...

  7. 记一次redis主从同步失败

    zabbix告警突然从某个时间点开始提示CPU使用高,网卡流量也一直居高不下. 首先查看redis日志,发现告警时间点redis主节点被重启了,发生了主备切换,并且在日志中发现这么一段 [3081] ...

  8. pytest_03_pycharm运行pytest (转:上海悠悠)

    前言 上一篇pytest文档2-用例运行规则已经介绍了如何在cmd执行pytest用例,平常我们写代码在pycharm比较多 写完用例之后,需要调试看看,是不是能正常运行,如果每次跑去cmd执行,太麻 ...

  9. 《JAVA高并发编程详解》-wait和sleep

  10. spring使用JUnit测试,@Autowired无法注入原因

    在测试类上加入配置文件 代码如下 @RunWith(SpringJUnit4ClassRunner.class)// SpringJUnit支持,由此引入Spring-Test框架支持!  @Cont ...