一. harbor安装
1.说明
Harbor的所有服务组件都是在Docker中部署的,所以官方安装使用Docker-compose快速部署,所以需要安装Docker、Docker-compose。由于Harbor是基于Docker Registry V2版本,所以Docker版本18.03,Docker-compose版本是2.2.3
2. 程序下载安装
2.1 安装docker
2.2 安装docker-compose
https://github.com/docker/compose/releases/download/2.2.3
[root@localhost ~]# mv docker-compose /usr/local/bin/
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose --version
2.3 下载harbor包
[root@localhost ~]# mkdir -p harbor
[root@localhost ~]# tar -xf harbor-offline-installer-v2.1.3.tgz -C harbor
[root@localhost ~]# cd harbor/
[root@localhost ~]# mv harbor.yml.template harbor.yml
3. harbor http证书配置及访问
www.harbor.mobi:代表域名,如果没有在/etc/hosts里设置的话,那么就把下面的脚本中的域名替换成本机真实IP
#!/bin/bash
# 在该目录下操作生成证书,正好供harbor.yml使用
mkdir -p /data/cert
cd /data/cert
openssl genrsa -out ca.key 4096
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=www.harbor.mobi" -key ca.key -out ca.crt
openssl genrsa -out www.harbor.mobi.key 4096
openssl req -sha512 -new -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=www.harbor.mobi" -key www.harbor.mobi.key -out www.harbor.mobi.csr
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:192.168.1.5 ##192.168.1.5代表本地IP地址
EOF
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in www.harbor.mobi.csr -out www.harbor.mobi.crt
openssl x509 -inform PEM -in www.harbor.mobi.crt -out www.harbor.mobi.cert
update-ca-trust
脚本执行完成后,生成的证书如下:
4. 配置harbor.yml并安装启动harbor
[root@localhost ~]# vim harbor.yml
修改如下字段的值,其余的值像harbor页面访问密码,走默认的就行
执行harbor的安装脚本:
# 重新生成配置文件,增加上其他chart功能等
./prepare --with-chartmuseum ##貌似可以不用执行
# 停止
[root@localhost ~]# docker-compose down -d
# 启动
[root@localhost ~]# docker-compose up -d
# 查看harbor运行状态
[root@localhost ~]# docker-compose ps
二. harbor使用
1.创建项目![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5584bea52ea9c503c4d819609962f645.png)
2.创建用户
创建完用户后,需要把用户添加进项目里,这样才能该用户做认证推送镜像或chart包
三. docker镜像上传/拉取
# 把这三个证书文件复制到docker相应的目录下,注意最后的路径名,要跟上面的保持一致
mkdir -p /etc/docker/certs.d/www.harbor.mobi/
cp www.harbor.mobi.cert /etc/docker/certs.d/www.harbor.mobi/
cp www.harbor.mobi.key /etc/docker/certs.d/ywww.harbor.mobi/
cp ca.crt /etc/docker/certs.d/www.harbor.mobi/
最终docker目录结构:
/etc/docker/certs.d/
└── www.harbor.mobi
├── www.harbor.mobi.cert <-- Server certificate signed by CA
├── www.harbor.mobi.key <-- Server key signed by CA
└── ca.crt <-- Certificate authority that signed the registry certificate
# 先停止harbor
cd /usr/local/harbor
docker-compose down -v
# 重启docker
systemctl restart docker.service