​一、系统优化

关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

二、安装Harbor

wget https://github.com/goharbor/harbor/releases/download/v2.8.1/harbor-offline-installer-v2.8.1.tgz

tar xvf harbor-offline-installer-v2.8.1.tgz

df -h

mv harbor/ /home

cd /home/harbor

dnf -y install docker

dnf -y install docker-compose

三、制作SSL本地证书

mkdir cert

cd cert

生成证书颁发机构证书

生成 CA 证书私钥

openssl genrsa -out ca.key 4096

生成 CA 证书

如果您使用 FQDN 连接您的 Harbor 主机,则必须将其指定为公用名称 ( CN) 属性并在密钥和 CSR 文件名中使用它。

openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=172.62.17.113" \
-key ca.key \
-out ca.crt

生成服务器证书

生成私钥

openssl genrsa -out harbor.xxxx.com.key 4096

生成证书签名请求 (CSR)

如果您使用 FQDN 连接您的 Harbor 主机,则必须将其指定为公用名称 ( CN) 属性并在密钥和 CSR 文件名中使用它。

openssl req -sha512 -new \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=172.62.17.113" \
-key harbor.xxxx.com.key \
-out harbor.xxxx.com.csr

生成 x509 v3 扩展文件 替换DNS条目,第二个DNS写Harbor主机名

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=172.62.10.5
DNS.2=Server-Harbor
EOF

使用该v3.ext文件为您的 Harbor主机生成证书

openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in harbor.xxxx.com.csr \
-out harbor.xxxx.com.crt

转换harbor.xxxx.com.crt为harbor.xxxx.com.cert, 供 Docker 使用。

openssl x509 -inform PEM -in harbor.xxxx.com.crt -out harbor.xxxx.com.cert

将服务器证书、密钥和 CA 文件复制到 Harbor 主机上的 Docker 证书文件夹中。

如果您将默认nginx端口 443 映射到不同的端口,请创建文件夹/etc/docker/certs.d/harbor.xxxx.com:8843或/etc/docker/certs.d/harbor_IP:8843.

mkdir -p /etc/docker/certs.d/172.62.17.113:8843

cp harbor.xxxx.com.cert /etc/docker/certs.d/172.62.17.113:8843

cp harbor.xxxx.com.key /etc/docker/certs.d/172.62.17.113:8843

cp ca.crt /etc/docker/certs.d/172.62.17.113:8843

systemctl restart docker

说明:

/etc/docker/certs.d/

└── harbor.xxxx.com:8843

├── harbor.xxxx.com.cert <-- Server certificate signed by CA

├── harbor.xxxx.com.key <-- Server key signed by CA

└── ca.crt <-- Certificate authority that signed the registry certificate

四、配置Harbor

cp harbor.yml.tmpl harbor.yml

mkdir data

编辑配置文件,给出几个重要的选项

vim harbor.yml

hostname: harbor.xxxx.com
http:
port: 8080
https:
port: 8843
certificate: /home/harbor/cert/harbor.xxxx.com.crt
private_key: /home/harbor/cert/harbor.xxxx.com.key
harbor_admin_password: Harborxxxx

授权Harbor本地目录,这个很重要,否则docker启动后,各种不适应。

chmod -R 775 /home/harbor

./prepare

./install.sh

docker-compose up -d

五、其他

docker-compose down -v 或 docker-compose stop

区别:前者会remove掉容器、image、网络,停的更干净,后者只是停服务

docker login ip

试试

docker log 用不了,可以在 /var/log/harbor(harbor.yml有定义日志路径)下tail看问题。

openEuler欧拉部署Harbor的更多相关文章

  1. iNeuOS工业互联网操作系统部署在华为欧拉(openEuler)国产系统,vmware、openEuler、postgresql、netcore、nginx、ineuos一站式部署

    目       录 1.      概述... 3 2.      创建虚拟机&安装华为欧拉(openEuler)系统... 4 2.1           创建新的虚拟机... 4 2.2  ...

  2. 转载:点云上实时三维目标检测的欧拉区域方案 ----Complex-YOLO

    感觉是机器翻译,好多地方不通顺,凑合看看 原文名称:Complex-YOLO: An Euler-Region-Proposal for  Real-time 3D Object Detection ...

  3. 部署harbor以https模式和k8s对接

    集群时间同步 我们在之前的kubeasz部署高可用kubernetes1.17.2 并实现traefik2.1.2部署篇已经实现了基于chrony的时间同步 [root@bs-k8s-master01 ...

  4. hdu2588 GCD (欧拉函数)

    GCD 题意:输入N,M(2<=N<=1000000000, 1<=M<=N), 设1<=X<=N,求使gcd(X,N)>=M的X的个数.  (文末有题) 知 ...

  5. BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]

    2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 2553  Solved: 1565[Submit][ ...

  6. BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】

    2818: Gcd Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 4436  Solved: 1957[Submit][Status][Discuss ...

  7. Euler-Maruyama discretization("欧拉-丸山"数值解法)

    欧拉法的来源 在数学和计算机科学中,欧拉方法(Euler method)命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解.它是一种解决常微分方程数值积分 ...

  8. COGS2531. [HZOI 2016]函数的美 打表+欧拉函数

    题目:http://cogs.pw/cogs/problem/problem.php?pid=2533 这道题考察打表观察规律. 发现对f的定义实际是递归式的 f(n,k) = f(0,f(n-1,k ...

  9. poj2478 Farey Sequence (欧拉函数)

    Farey Sequence 题意:给定一个数n,求在[1,n]这个范围内两两互质的数的个数.(转化为给定一个数n,比n小且与n互质的数的个数) 知识点: 欧拉函数: 普通求法: int Euler( ...

  10. 51Nod-1136 欧拉函数

    51Nod: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1136 1136 欧拉函数 基准时间限制:1 秒 空间限制: ...

随机推荐

  1. 利用 Page Visibility API 优化网页性能与用户体验

    在现代 Web 开发中,用户可能会频繁切换标签页,或让网页处于后台运行.为了避免不必要的资源浪费并提升用户体验,合理利用 Page Visibility API 可以在页面不可见时暂停或减少资源的消耗 ...

  2. CentOS 7.9安装ElasticSearch7.14.0、ElasticSearch-Head、Kibana、Node14.18.2

    CentOS 7.9安装ElasticSearch7.14.0.ElasticSearch-Head.Kibana.Node14.18.2   1.安装文件 1. elasticsearch-7.14 ...

  3. os.path.basename()和os.path.splitext()

    1.os.path.splitext()是用来分离文件名与扩展名: 2.os.path.basename()他返回的是一个base name,我认为就是路径最后一个文件名. import os fna ...

  4. ArgoWorkflow教程(六)---无缝实现步骤间参数传递

    之前我们分析了,Workflow.WorkflowTemplate .template 3 者之间如何传递参数. 本文主要分析同一个 Workflow 中的不同 step 之间实现参数传递,比如将上一 ...

  5. 你对 Vue.js 的template 编译的理解?

    template 是 ES5 新出的语法 ,template 是不会被页面显示的,但是 vue 中会被翻译成 dom 结构 : template 编译的过程 : parse 解析生成ast 抽象语法树 ...

  6. kotlin类和对象—>属性与字段

    1.声明属性,Kotlin 类中的属性既可以用关键字 var 声明为可变的,也可以用关键字 val 声明为只读的 class Address { var name: String = "Ho ...

  7. Vite打包碎片化,如何化解?

    背景 我们在使用 Vite 进行打包时,经常会遇到这个问题:随着业务的展开,版本迭代,页面越来越多,第三方依赖也越来越多,打出来的包也越来越大.如果把页面都进行动态导入,那么凡是几个页面共用的文件都会 ...

  8. KubeSphere Meetup 北京站火热报名中 | 搭载 CIC 2021 云计算峰会

    "CIC 2021 云计算峰会"是一场 Top 级行业盛会,将汇聚 800 家青云QingCloud 企业客户信息化负责人,采取线上线下相结合的方式,与会规模将超过 10000 人 ...

  9. KubeSphere 在互联网医疗行业的应用实践

    作者:宇轩辞白,运维研发工程师,目前专注于云原生.Kubernetes.容器.Linux.运维自动化等领域. 前言 2020 年我国互联网医疗企业迎来了"爆发元年",越来越多居民在 ...

  10. DPaRL:耶鲁+AWS出品,开放世界持续学习场景的新解法 | ECCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: Open-World Dynamic Prompt and Continual Visual Representation Learning ...