harbor安装部署使用
离线安装包的安装流程
该离线安装包安装的方式有两种,一种是配置http访问,一种是配置https访问,具体的安装和配置流程如下
一、配置http安装
解压编译生成的离线安装包
$ tar -zxvf harbor-offline-installer-dev.tgz
复制产生harbor.yml(以下步骤都在解压包中进行)
$ mv harbor.yml.temp harbor.yml
配置harbor.yml配置文件
(1)hostname:本机的ip
(2)port:端口号(尽量选大一点,避免被使用)
(3)把以下所示的https的设置注释掉
(4)harbor_admin_password:自定义密码
编译生成docker-compose.yml文件
$ ./prepare
安装离线安装包
$ sudo ./install
执行以上命令后显示successful证明离线安装包安装成功
二、配置https安装
与http安装不同的是此安装方式中间需要配置一些证书,以提高harbor仓库的稳定性,安装步骤如下: 1. 解压编译生成的离线安装包
$ tar -zxvf harbor-offline-installer-dev.tgz
复制产生harbor.yml(以下步骤都在解压包中进行)
$ mv harbor.yml.temp harbor.yml
配置harbor.yml配置文件
(1)hostname:本机的ip
(2)port:端口号(尽量选大一点,避免被使用)
(3)harbor_admin_password:自定义密码
分别执行一下命令配置CA证书
```shell
$ 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=<IP>“ -key ca.key -out ca.crt
$ openssl genrsa -out server.key 4096
$ openssl req -sha512 -new -subj “/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=<IP>“ -key server.key -out server.csr
$ vim v3.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = IP:<IP>
$ mkdir certs && cd certs
$ openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
$ sudo mkdir -p /data/cert/harbor/
$ sudo cp server.crt /data/cert/harbor/
$ sudo cp server.key /data/cert/harbor/
$ openssl x509 -inform PEM -in server.crt -out server.cert
$ sudo mkdir -p /etc/docker/certs.d/<IP>/
$ sudo cp server.cert /etc/docker/certs.d/<IP>/
$ sudo cp server.key /etc/docker/certs.d/<IP>/
$ sudo cp ca.crt /etc/docker/certs.d/<IP>/
```
注:以上命令中CN后面输入宿主机IP
编译生成docker-compose.yml文件
$ ./prepare
安装离线安装包
$ sudo ./install
执行以上命令后显示successful证明离线安装包安装成功
访问harbor仓库,打开浏览器,输入以下地址
https://设置的ip:端口号
三.测试方向
配置http的测试
1.打开浏览器,输入
harbor.yml中设置的ip:端口号
2.登陆harbor
用户名:admin(默认)
密码:harbor.yaml中的harbor_admin_password后的设置
在终端登陆harbor仓库
$ docker login IP
修改本地镜像名
$ docker tag 本地镜像:tag IP/harbor目录/镜像名:tag
推送和下拉镜像(先推送在下拉)
docker push 镜像名:tag
docker pull 镜像名:tag
如果以上能正常推送和下拉镜像,测试通过
配置https的测试
四.遇到问题的分析和解决方法
docker login遇到Cannot create an item in a locked collection Error saving credentials: error storing credentials - err: exit status 1, out: Cannot create an item in a locked collection。
解决方法 sudo apt install gnupg2 pass
数据库版本不匹配的问题:如果使用官网postgres9.6初始化过数据库,则会在宿主机的/data/database下留下数据(这个路径是在docker-compse.yml定义的),因此要删掉该目录下的内容重新初始化。例如:遇到The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 11.5类似的错,要先docker-compse down, 删掉/usr/local/var/postgres
单独build某一个base镜像的方法(整体make build_base_docker太慢了):docker build -f make/deepin/db/Dockerfile.base —build-arg ARCH=amd64 -t harbor.sh.deepin.com/amd64/harbor-db-base:uos .
生成certs文档:
https://www.cnblogs.com/weifeng1463/p/11106462.html
命令行登录harbor数据库:
https://www.codenong.com/cs106923179
常见问题整理:
https://www.codenong.com/cs106923179
上一篇:k8s集群排错指南
下一篇:Harbor二次开发指南