环境准备
CentOS 7.8.2003
Docker 19.03.11
Docker compose 1.26.0
kenerl 4.4
http安装
配置
到Harbor官方上下载一个离线的版本,下完后解压
https://github.com/goharbor/harbor/releases
解压后需要修改harbor.yml
配置文件,注释掉https使用 ip 访问
# hostname: harbor.amt.com
hostname: 192.168.2.179
http:
port: 9998
#https:
# port: 443
# certificate: /web/soft/harbor/harbor.amt.com.crt
# private_key: /web/soft/harbor/harbor.amt.com.key
# 如果需要使用nginx映射外网地址,取消注释并配置成外网IP端口
# external_url: http://192.168.1.47:1180
harbor_admin_password: Amt_2018
database:
password: root123
max_idle_conns: 50
max_open_conns: 1000
data_volume: /data
clair:
updaters_interval: 12
trivy:
ignore_unfixed: false
skip_update: false
insecure: false
jobservice:
max_job_workers: 10
notification:
webhook_job_max_retry: 10
chart:
absolute_url: disabled
log:
level: info
local:
rotate_count: 50
rotate_size: 200M
location: /var/log/harbor
_version: 2.0.0
proxy:
http_proxy:
https_proxy:
no_proxy:
components:
- core
- jobservice
- clair
- trivy
harbor安装
然后 运行install.sh
直接安装就可以
安装好后,就用浏览器打开 http://192.168.2.179:9998
,可以打开就正常了
还有在命令行下测试一下登录是否成功
docker 192.168.2.179:9998
提示输入用户名和密码,输入后提示Login Succeeded,就ok了
https安装
生成自签名证书
没有购买商业的https证书,这自已用openssl工具制作签名证书,有购买证书跳过此处
# 首先证书目录 harbor.yml配置从这个目录读取证书
mkdir -p /web/soft/harbor/
# 创建CA根证书
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt -subj "/C=CN/L=BeiJing/O=amt/CN=harbor-registry"
# 生成一个证书签名, 设置访问域名为harbor.amt.com
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.amt.com.key -out server.csr -subj "/C=CN/L=BeiJing/O=amt/CN=harbor.amt.com"
# 生成主机的证书
openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.amt.com.crt
# 这时证书文件都生成好了
ca.crt ca.key ca.srl example.com.crt example.com.key server.csr
自签名的证书,在用浏览器打开时会提示不安全,点继续使用就行,不影响使用。
harbor安装
修改harbor.yml
配置文件 然后 运行install.sh
直接安装就可以,其它与http相同
hostname: harbor.amt.com
#http:
# port: 9998
https:
port: 443
certificate: /web/soft/harbor/harbor.amt.com.crt
private_key: /web/soft/harbor/harbor.amt.com.key
docker 使用
docker 使用时需配置信任证书
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
],
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"],
"insecure-registries": ["harbor.amt.com"]
}