harbor安装流程

第一步:安装 dokcer以及docker-compose

1.准备使用yum仓库的方式安装docker

#下载docker所需工具
sudo yum install -y yum-utils  #安装yum-utils是为了提供yum-config-manager工具
#下载docker-yum仓库
sudo yum-config-manager \
   --add-repo \
   https://download.docker.com/linux/centos/docker-ce.repo
#默认未启用,配置启用仓库
sudo yum-config-manager --enable docker-ce-nightly
#<可选>启用测试仓库
sudo yum-config-manager --enable docker-ce-test
#<可选>安装最新版本的docker
sudo yum install docker-ce docker-ce-cli containerd.io
#查看可获得的docker版本
yum list docker-ce --showduplicates | sort -r
#安装指定版本的docker
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
#配置docker daemon.json
cat /etc/docker/daemon.json
{
 "registry-mirrors": ["http://harbor.zxz.com", "https://harbor.zxz.com"],  #镜像仓库
 "insecure-registries":["harbor.zxz.com"],    #可使用非安全url
 "max-concurrent-downloads": 10,        #最大下载数
 "live-restore": true,
 "experimental": true,
 "metrics-addr" : "192.168.1.120:9323",   #监控可以调用该指标地址
 "log-driver": "json-file",
 "log-level": "warn",
 "log-opts": {
   "max-size": "500m",
   "max-file": "5"
   },
 "data-root": "/data/docker"       #docker镜像指定放置目录
}
#启动docker
sudo systemctl start docker
#设置开机自启动
sudo systemctl enable docker

2.安装docker-compose

#安装稳定版的docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#配置执行权限
sudo chmod +x /usr/local/bin/docker-compose

第二步:安装harbor

#创建harbor安装目录
mkdir -p /data/harbor && cd /data/harbor
#下载harbor离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz
#解压安装包
tar -xf harbor-offline-installer-v2.4.1.tgz
#进入安装目录
cd harbor
#修改配置文件
cp harbor.yml.tmpl  harbor.yml
vim harbor.yml
...
5 hostname: harbor.zxz.com
17 certificate: /data/harbor/ssl/tls.cert
18 private_key: /data/harbor/ssl/tls.key
34 harbor_admin_password: 123456
...
#创建ssl目录并配置ssl证书
mkdir /data/harbor/ssl && cd /data/harbor/ssl
openssl genrsa -out tls.key 2048
openssl req -new -x509 -key tls.key -out tls.cert -days 360 -subj /CN=*.zxz.com
#开始安装
./install.sh
## 推送镜像到harbor
echo '192.168.1.120 harbor.zxz.com' >> /etc/hosts
docker tag nginx:latest  harbor.boge.com/library/nginx:latest
docker push harbor.zxz.com/library/nginx:1.18.0-alpine
#在其他节点上面拉取harbor镜像
#在集群每个 node 节点进行如下配置,如果节点数量比较多的情况下,将步骤写成shell脚本使用ansible统一发布执行或者使用pssh和pscp工具<个人推荐,操作较ansible简单,安装epel源即可下载>
cat batchsentssl.sh  #我这里使用pssh和pscp工具写的脚本批量操作
#!/bin/bash
for i in {10..50}
do
echo "root@192.168.1.$i" >> hosts.txt
done
pssh -h host.txt -A -O "StrictHostKeyChecking no" -i "sudo mkdir -p /etc/docker/certs.d/harbor.zxz.com"
pscp -h host.txt -A -O "StrictHostKeyChecking no" /data/harbor/ssl/tls.cert /etc/docker/certs.d/harbor.boge.com/ca.crt
rm -rf hosts.txt
#随意一个节点测试拉取镜像
docker pull harbor.zxz.com/library/nginx:latest

## 重启harbor
cd /data/harbor
docker-compose down -v
docker-compose up -d
docker-compose ps
此条目发表在docker分类目录。将固定链接加入收藏夹。

发表评论