Harbor 对于docker版本及docker-compose版本有要求,根据需要安装。
一、Docker搭建(安装最新版)
1、安装docker
wget -qO- https://get.docker.com | sh
2、配置加速器。
cd /etc/docker
vim daemon.json
{
"registry-mirrors" : ["https://registry.docker-cn.com"]
}
3、Docker开机自启动
systemctl enable docker
二、docker-compose安装
1、下载docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2、赋予权限。
chmod +x /usr/local/bin/docker-compose
三、Harbor环境搭建。
1、下载Harbor安装包。(根据需要下载)
2、上传服务器,解压压缩包。
tar -zxvf harbor-offline-installer-v2.5.0.tgz
四、启动配置(两种启动方式,互相独立)。
1、http启动。
a、复制一份配置文件
cp harbor.yml.tmpl harbor.yml
b、修改配置文件中的hostname,注释掉https(端口、密码可根据需要修改)。
c、修改docker登录配置,添加 域名/Ip 信息。
vim /etc/docker/daemon.json
{
"registry-mirrors" : ["https://registry.docker-cn.com"],
# 添加域名配置
"insecure-registries":["192.168.74.20"]
}
d、启动Harbor
./prepare
./install.sh
2、Https启动。
使用cfssl生成CA整数和私钥,根据CA生成域名证书
a、根据以下脚本下载cfssl工具。
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
chmod +x cfssl*
mv cfssl_linux-amd64 /usr/bin/cfssl
mv cfssljson_linux-amd64 /usr/bin/cfssljson
mv cfssl-certinfo_linux-amd64 /usr/bin/cfssl-certinfo
b、赋予权限
chmod +x /usr/bin/cfssl*
c、使用以下脚本生成域名(req.heyu.com)证书。
# 创建配置文件
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"kubernetes": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "87600h"
}
}
}
}
EOF
# 创建证书签名请求文件
cat > ca-csr.json <<EOF
{
"CN": "kubernetes",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing"
}
]
}
EOF
# 生成 CA 证书和私钥
cfssl gencert -initca ca-csr.json | cfssljson -bare ca
# 根据CA 生成域名证书
cat > reg.heyu.com-csr.json <<EOF
{
"CN": "reg.heyu.com",
"hosts":[],
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"ST": "BeiJing",
"L": "BeiJing"
}
]
}
EOF
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes reg.heyu.com-csr.json | cfssljson -bare reg.heyu.com
执行后
d、复制一份配置文件
cp harbor.yml.tmpl harbor.yml
e、配置ip映射。
vim /etc/hosts
#新增一行
192.168.74.20 reg.heyu.com
e、修改harbor.yml配置文件
f、修改docker登录配置,添加 域名/Ip 信息。
vim /etc/docker/daemon.json
{
"registry-mirrors" : ["https://registry.docker-cn.com"],
#添加域名配置
"insecure-registries":["reg.heyu.com"]
}
g、启动Harbor
./prepare
./install.sh
五、访问客户端
ip+端口
图为https启动,因证书为个人签发,不被认证,可继续访问。
六、其他docker访问harbor(两种,记住配置ip映射)
1、http启动.
docker login ip+port(或者域名)
2、https启动.
将证书文件传输到docker服务器。复制到docker主机
证书文件存储在/etc/docker/certs.d/reg.ctnrs.com下
将 证书文件复制到docker服务器 可使用scp
scp reg.heyu.com.pem root@192.168.74.21:/data/middleware/reg.heyu.com.pem
mkdir /etc/docker/certs.d/reg.ctnrs.com
cp /data/middleware/reg.heyu.com.pem /etc/docker/certs.d/reg.ctnrs.com/reg.heyu.com.crt