第一步: 安装依赖
由于harbor的需要依赖docker和docker-compose,由于docker已经安装好,现在安装docker-compose,官网地址为:
https://github.com/docker/compose/releases
将下载下来的“docker-compose-Linux-x86_64”文件上传到服务器上,然后将其复制到 /usr/local/bin,并改名为“docker-compose”
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
添加可执行权限:
chmod +x /usr/local/bin/docker-compose
安装成功后可以执行版本查看命令:
docker-compose -v
第二步:下载harbor
https://github.com/goharbor/harbor/releases
下载harbor-offline-installer-v1.10.3.tgz
第三步:生成https证书
由于使用内网服务器,无法连接外网也没有域名:
创建证书目录,并赋予权限
mkdir -p /data/docker_harbor/cert && chmod -R 777 /data/docker_harbor/cert && cd /data/docker_harbor/cert
生成私钥,需要设置密码
openssl genrsa -des3 -out harbor.key 2048
生成CA证书,需要输入密码
openssl req -sha512 -new \
-subj "/C=CN/ST=JS/L=WX/O=zwx/OU=otms/CN=192.168.100.104" \
-key harbor.key \
-out harbor.csr
echo subjectAltName = IP:192.168.100.104 > extfile.cnf
备份证书
cp harbor.key harbor.key.org
退掉私钥密码,以便docker访问(过程也需要输入密码)
openssl rsa -in harbor.key.org -out harbor.key
使用证书进行签名
openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -extfile extfile.cnf -out harbor.crt
第四步:安装
解压下载的包
tar -zxvf harbor-offline-installer-v1.10.3.tgz
解压后会生成harbor的文件夹
编辑harbor.yml,修改hostname、https证书路径、admin密码
cd harbor
vi harbor.yml
修改安装目录:
安装:
./install.sh
安装完成后,显示一下
打开https://192.168.100.104:443
输入admin和我们配置的密码登录
备注:
到这里我们的安装已经完成,但是我们发现,如果重启电脑或者docker服务以后服务会挂掉
systemctl restart docker
docker ps
我们需要配置开机启动:
第五步:配置开机启动
新建文件:
vi /usr/lib/systemd/system/harbor.service
i
将下面的代码粘贴进去
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
注意
ExecStart=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /root/harbor/docker-compose.yml down
上面的docker-compose.yml为解压后的本机文件的位置;
保存退出
systemctl enable harbor
systemctl restart harbor