私有镜像仓库Harbor设置https、http访问

Harbor自签名证书以https方式访问UI界面

说明

前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里咱们修改成https方式及配置Docker以http方式访问私有仓库html

生成自签名证书

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

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

项目的目录结构以下: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证书,github

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

 

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

 

.
├── 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服务器docker

配置Harbor的https证书

Harbor服务器上执行如下命令shell

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 #查看目录内容

配置Harbor以https启动

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

编辑如下内容:json

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

从新配置启动Harbor

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

编辑hosts文件以域名方式访问

cat /etc/hosts
192.168.1.112 registry.anxminise.cc

 

 

Docker以http访问Harbor私有仓库

说明

前文Centos7搭建Harbor私有仓库(一)咱们成功搭建Harbor,本篇咱们主要配置Docker以http方式访问私有仓库vim

Docker配置

Mac系统

配置Docker

Mac系统中配置Docker的Preferences -> DaemonInsecure registies中添加192.168.1.112,即:Harbor私服的ip地址,以下:
windows

登陆私有仓库进行验证

docker login 192.168.1.112

 

Linux系统

3.1.1 配置Docker

/etc/docker新建daemon.json文件:

mkdir -p /etc/docker #新建docker目录
vim /etc/docker/daemon.json #新建daemon.json文件

编辑内容以下:

{ "insecure-registries":["192.168.1.112"] }

 

重启docker

systemctl restart docker

 

3.1.2 登陆私有仓库进行验证

docker login 192.168.1.112

 

 

Docker以https访问Harbor私有仓库

 

说明

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

2 Docker配置

2.1 Mac系统

2.1.1 配置Docker

Mac系统中只需配置Proferences -> Proxies使用System Proxy便可,以下:

2.1.2 登陆私服验证

docker login registry.anxminise.cc #登陆私服

2.2 Windows系统

待补充

2.3 Linux系统

2.3.1 配置registry.anxminise.cc域名

编辑/etc/hosts:

vim /etc/hosts

 

文件最后部分,加入以下:

192.168.1.112 registry.anxminise.cc

 

2.3.2 配置Docker

/etc/docker/certs.d目录下新建registry.anxminise.cc目录,

mkdir -p /etc/docker/certs.d/registry.anxminise.cc

https://github.com/Fishdrowned/ssl自签名生成的根证书,即out目录下的root.crt证书放到registry.anxminise.cc目录中,以下:

重启docker:

systemctl restart docker

 

登陆registry.anxminise.cc私服仓库:

docker login registry.anxminise.cc

 

 

 

本文出处:https://www.cnblogs.com/anxminise/ 

相关文章
相关标签/搜索