• 首页
  • Qt文档
  • DTK文档
  • 玲珑文档
  • 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二次开发指南