提交 6b0d48e1 作者: 黄润秋

init

上级
/.settings/
/.project
# Harbor 1.7.5 部署 #
模版部署的Harbor是最基本的仓库管理组件,不包含notary、clair和chartmuseum,默认的访问协议是http,可以选择https协议,通过traefik容器进行http数据封装。
模版部署,必须先设置rancher主机的标签,部署将在具有标签的主机上运行。
version: '2'
{{- $registryImage:="reg.wsy010.cn/library/goharbor/registry-photon:v2.6.2-v1.7.5" }}
{{- $coreImage:="reg.wsy010.cn/library/goharbor/harbor-core:v1.7.5" }}
{{- $jobserviceImage:="reg.wsy010.cn/library/goharbor/harbor-jobservice:v1.7.5" }}
{{- $postgresqlImage:="reg.wsy010.cn/library/goharbor/harbor-db:v1.7.5" }}
{{- $adminserverImage:="reg.wsy010.cn/library/goharbor/harbor-adminserver:v1.7.5" }}
{{- $portalImage:="reg.wsy010.cn/library/goharbor/harbor-portal:v1.7.5" }}
{{- $registryctlImage:="reg.wsy010.cn/library/goharbor/harbor-registryctl:v1.7.5" }}
{{- $redisImage:="reg.wsy010.cn/library/goharbor/redis-photon:v1.7.5" }}
{{- $configImage:="reg.wsy010.cn/library/goharbor/harbor-config:v1.7.5" }}
volumes:
data-joblogs:
driver: ${driver}
data-redis:
driver: ${driver}
data-registry:
driver: ${driver}
etc-registry:
driver: ${driver}
etc-registryctl:
driver: ${driver}
etc-core:
driver: ${driver}
data-core:
driver: ${driver}
data-progresql:
driver: ${driver}
etc-jobservice:
driver: ${driver}
services:
registry:
image: {{$registryImage}}
volumes:
- data-registry:/storage
- etc-registry:/etc/registry
links:
- postgresql:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
core:
image: {{$coreImage}}
environment:
LOG_LEVEL: info
CONFIG_PATH: /etc/core/app.conf
CORE_SECRET: M05vRxmf9tzSXyVf
JOBSERVICE_SECRET: CM1vXvAOrOisxgT7
ADMINSERVER_URL: http://adminserver:8080
UAA_CA_ROOT: /etc/core/certificates/uaa_ca.pem
_REDIS_URL: redis:6379,100,
SYNC_REGISTRY: 'false'
CHART_CACHE_DRIVER: redis
_REDIS_URL_REG: redis://redis:6379/1
volumes:
- etc-core:/etc/core
- data-core:/data
links:
- postgresql:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
traefik.frontend.rule: Host:${hostname};PathPrefix:/c/,/api/,/chartrepo/,/v1/,/v2/,/service/
traefik.port: '8080'
{{- if eq .Values.procotol "https" }}
traefik.frontend.headers.customRequestHeaders: X-Forwarded-Proto:https
{{- end }}
traefik.enable: 'true'
jobservice:
image: {{$jobserviceImage}}
environment:
CORE_SECRET: M05vRxmf9tzSXyVf
JOBSERVICE_SECRET: CM1vXvAOrOisxgT7
CORE_URL: http://core:8080
volumes:
- data-joblogs:/var/log/jobs
- etc-jobservice:/etc/jobservice
links:
- postgresql:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
postgresql:
image: {{$postgresqlImage}}
environment:
POSTGRES_PASSWORD: root123
volumes:
- data-progresql:/var/lib/postgresql/data
links:
- redis:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
adminserver:
image: {{$adminserverImage}}
environment:
PORT: '8080'
LOG_LEVEL: info
EXT_ENDPOINT: http://${hostname}
AUTH_MODE: db_auth
SELF_REGISTRATION: 'on'
LDAP_URL: ldaps://ldap.mydomain.com
LDAP_SEARCH_DN: ''
LDAP_SEARCH_PWD: ''
LDAP_BASE_DN: ou=people,dc=mydomain,dc=com
LDAP_FILTER: ''
LDAP_UID: uid
LDAP_SCOPE: '2'
LDAP_TIMEOUT: '5'
LDAP_VERIFY_CERT: 'true'
DATABASE_TYPE: postgresql
POSTGRESQL_HOST: postgresql
POSTGRESQL_PORT: '5432'
POSTGRESQL_USERNAME: postgres
POSTGRESQL_PASSWORD: root123
POSTGRESQL_DATABASE: registry
POSTGRESQL_SSLMODE: disable
LDAP_GROUP_BASEDN: ou=group,dc=mydomain,dc=com
LDAP_GROUP_FILTER: objectclass=group
LDAP_GROUP_GID: cn
LDAP_GROUP_SCOPE: '2'
REGISTRY_URL: http://registry:5000
TOKEN_SERVICE_URL: http://core:8080/service/token
EMAIL_HOST: smtp.mydomain.com
EMAIL_PORT: '25'
EMAIL_USR: sample_admin@mydomain.com
EMAIL_PWD: abc
EMAIL_SSL: 'false'
EMAIL_FROM: admin <sample_admin@mydomain.com>
EMAIL_IDENTITY: ''
EMAIL_INSECURE: 'false'
HARBOR_ADMIN_PASSWORD: ${password}
PROJECT_CREATION_RESTRICTION: everyone
MAX_JOB_WORKERS: '10'
CORE_SECRET: M05vRxmf9tzSXyVf
JOBSERVICE_SECRET: CM1vXvAOrOisxgT7
TOKEN_EXPIRATION: '30'
CFG_EXPIRATION: '5'
ADMIRAL_URL: NA
WITH_NOTARY: 'False'
WITH_CLAIR: 'False'
CLAIR_DB_PASSWORD: root123
CLAIR_DB_HOST: postgresql
CLAIR_DB_PORT: '5432'
CLAIR_DB_USERNAME: postgres
CLAIR_DB: postgres
CLAIR_DB_SSLMODE: disable
RESET: 'false'
UAA_ENDPOINT: uaa.mydomain.org
UAA_CLIENTID: id
UAA_CLIENTSECRET: secret
UAA_VERIFY_CERT: 'true'
CORE_URL: http://core:8080
JOBSERVICE_URL: http://jobservice:8080
CLAIR_URL: http://clair:6060
NOTARY_URL: http://notary-server:4443
REGISTRY_STORAGE_PROVIDER_NAME: filesystem
READ_ONLY: 'false'
SKIP_RELOAD_ENV_PATTERN: $$^
RELOAD_KEY: ''
CHART_REPOSITORY_URL: http://chartmuseum:9999
LDAP_GROUP_ADMIN_DN: ''
REGISTRY_CONTROLLER_URL: http://registryctl:8080
WITH_CHARTMUSEUM: 'False'
volumes:
- etc-core:/etc/adminserver
- data-core:/data
links:
- postgresql:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
portal:
image: {{$portalImage}}
links:
- config:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
traefik.frontend.rule: Host:${hostname}
traefik.port: '80'
{{- if eq .Values.procotol "https" }}
traefik.frontend.headers.customRequestHeaders: X-Forwarded-Proto:https
{{- end }}
traefik.enable: 'true'
registryctl:
image: {{$registryctlImage}}
environment:
CORE_SECRET: M05vRxmf9tzSXyVf
JOBSERVICE_SECRET: CM1vXvAOrOisxgT7
volumes:
- data-registry:/storage
- etc-registry:/etc/registry
- etc-registryctl:/etc/registryctl
links:
- postgresql:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
redis:
image: {{$redisImage}}
volumes:
- data-redis:/var/lib/redis
links:
- portal:config
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
config:
image: {{$configImage}}
volumes:
- etc-registry:/etc/registry
- etc-registryctl:/etc/registryctl
- etc-core:/etc/core
- etc-jobservice:/etc/jobservice
network_mode: none
labels:
io.rancher.scheduler.affinity:host_label: ${hostlabel}
io.rancher.container.start_once: 'true'
environment:
DOMAIN: ${hostname}
SCHEME: ${procotol}
\ No newline at end of file
version: '2'
catalog:
name: harbor
version: v1.7.5
description: |
企业级容器仓库 [by VMware]
minimum_rancher_version: v0.59.0
questions:
- variable: hostname
label: 网页访问域名
description: |
网页和仓库访问域名。
default: "harbor.example.com"
required: true
type: string
- variable: hostlabel
label: 主机调度标签
description: |
只有拥有标签的主机才能运行。
default: "harbor-host=true"
required: true
type: string
- variable: password
label: 网页管理登录密码
description: |
网页管理登录默认帐号admin,密码默认Harbor12345
default: "Harbor12345"
required: true
type: string
- variable: procotol
label: 域名访问协议
description: |
默认http协议。选择https协议需要traefik配置自动签发证书。
default: http
required: true
type: enum
options:
- http
- https
- variable: driver
label: 存储驱动
description: |
存储驱动方式:rancher-nfs/local/rancher-ebs
default: rancher-nfs
required: true
type: enum
options:
- rancher-nfs
- local
- rancher-ebs
services:
registry:
scale: 1
core:
scale: 1
jobservice:
scale: 1
postgresql:
scale: 1
adminserver:
scale: 1
portal:
scale: 1
registryctl:
scale: 1
redis:
scale: 1
config:
scale: 1
\ No newline at end of file
# rancher部署手动转化步骤 #
* 1. [官网最新版下载地址](https://github.com/goharbor/harbor/releases),下载版本后解压。使用Online版即可。
```
tar xvf harbor-online-installer-<version>.tgz
```
* 2. 进入解压的目录harbor,编辑配置文件harbor.cfg,只需要修改harbor的配置hostname为访问域名和访问协议为http即可,其他保留默认。
```
#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
#DO NOT comment out this line, modify the value of "hostname" directly, or the installation will fail.
hostname = harbor.example.com
#The protocol for accessing the UI and token/notification service, by default it is http.
#It can be set to https if ssl is enabled on nginx.
ui_url_protocol = http
```
* 3. 使用python运行harbor目录中的配置文件生成脚本prepare
```
python prepare
```
* 4. 配置文件生成完毕后,查看harbor目录的docker-compose.yml文件,去除log服务、proxy服务,然后把配置文件中各服务的镜像、环境变量、存储对应填入rancher中启动即可。
* 5. 相关存储对应rancher关系参考:
> rancher存储挂载:
```
registry:
volumes:
- data-registry:/storage
- etc-registry:/etc/registry
core:
volumes:
- etc-core:/etc/core
- data-core:/data
jobservice:
volumes:
- data-joblogs:/var/log/jobs
- etc-jobservice:/etc/jobservice
postgresql:
volumes:
- data-progresql:/var/lib/postgresql/data
adminserver:
volumes:
- etc-core:/etc/adminserver
- data-core:/data
registryctl:
volumes:
- data-registry:/storage
- etc-registry:/etc/registry
- etc-registryctl:/etc/registryctl
redis:
volumes:
- data-redis:/var/lib/redis
```
> 原存储挂载:
```
registry:
volumes:
- /data/registry:/storage:z
- ./common/config/registry/:/etc/registry/:z
- ./common/config/custom-ca-bundle.crt:/harbor_cust_cert/custom-ca-bundle.crt:z
registryctl:
volumes:
- /data/registry:/storage:z
- ./common/config/registry/:/etc/registry/:z
- ./common/config/registryctl/config.yml:/etc/registryctl/config.yml:z
postgresql:
volumes:
- /data/database:/var/lib/postgresql/data:z
adminserver:
volumes:
- /data/config/:/etc/adminserver/config/:z
- /data/secretkey:/etc/adminserver/key:z
- /data/:/data/:z
core:
volumes:
- ./common/config/core/app.conf:/etc/core/app.conf:z
- ./common/config/core/private_key.pem:/etc/core/private_key.pem:z
- ./common/config/core/certificates/:/etc/core/certificates/:z
- /data/secretkey:/etc/core/key:z
- /data/ca_download/:/etc/core/ca/:z
- /data/psc/:/etc/core/token/:z
- /data/:/data/:z
jobservice:
volumes:
- /data/job_logs:/var/log/jobs:z
- ./common/config/jobservice/config.yml:/etc/jobservice/config.yml:z
redis:
volumes:
- /data/redis:/var/lib/redis
```
* 6. 由于rancher存储挂载后,应该在配置目录下有默认生成的配置文件,需要手动写入到对应配置目录中,否则容器启动异常。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 637.5 225"
height="225"
width="637.5"
xml:space="preserve"
version="1.1"
id="svg2"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
id="clipPath34"
clipPathUnits="userSpaceOnUse"><path
id="path36"
d="M 1006.51,526.57 798.98,618.02 787.426,487.43 1015.64,414.922 1006.51,526.57 Z" /></clipPath><linearGradient
id="linearGradient38"
spreadMethod="pad"
gradientTransform="matrix(228.215,0,0,-228.215,787.427,516.47)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop40"
offset="0"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop42"
offset="0.28177946"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop44"
offset="1"
style="stop-opacity:1;stop-color:#367c34" /></linearGradient><clipPath
id="clipPath52"
clipPathUnits="userSpaceOnUse"><path
id="path54"
d="m 839.609,1031.79 116.543,0 0,-99.427 -27.656,0 0,42.469 c 0,16.84 -13.773,30.618 -30.613,30.618 -16.84,0 -30.617,-13.778 -30.617,-30.618 l 0,-42.469 -27.657,0 0,99.427 z m -23.285,-217.767 172.906,-76.195 -11.921,145.813 22.629,0 0,48.722 -16.79,0 0,99.427 16.79,0 0,28.58 -93.254,91.25 0,6.42 c 0,4.84 -3.961,8.8 -8.801,8.8 -4.84,0 -8.801,-3.96 -8.801,-8.8 l 0,-6.42 -93.258,-91.25 0,-28.58 16.793,0 0,-99.427 -16.793,0 0,-48.722 26.66,0 -6.16,-69.618 z" /></clipPath><linearGradient
id="linearGradient56"
spreadMethod="pad"
gradientTransform="matrix(204.111,0,0,-204.111,795.826,952.335)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop58"
offset="0"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop60"
offset="0.28177946"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop62"
offset="1"
style="stop-opacity:1;stop-color:#367c34" /></linearGradient><clipPath
id="clipPath70"
clipPathUnits="userSpaceOnUse"><path
id="path72"
d="m 806.199,699.59 193.121,-85.11 -2.898,35.442 -187.317,82.539 -2.906,-32.871 z" /></clipPath><linearGradient
id="linearGradient74"
spreadMethod="pad"
gradientTransform="matrix(193.121,0,0,-193.121,806.199,673.47)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop76"
offset="0"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop78"
offset="0.28177946"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop80"
offset="1"
style="stop-opacity:1;stop-color:#367c34" /></linearGradient><clipPath
id="clipPath88"
clipPathUnits="userSpaceOnUse"><path
id="path90"
d="m 801.137,642.371 203.223,-89.562 -2.89,35.429 -197.423,87 -2.91,-32.867 z" /></clipPath><linearGradient
id="linearGradient92"
spreadMethod="pad"
gradientTransform="matrix(203.228,0,0,-203.228,801.136,614.03)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop94"
offset="0"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop96"
offset="0.28177946"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop98"
offset="1"
style="stop-opacity:1;stop-color:#367c34" /></linearGradient><clipPath
id="clipPath106"
clipPathUnits="userSpaceOnUse"><path
id="path108"
d="m 814.172,789.68 -2.91,-32.879 183.015,-80.641 -2.898,35.43 -177.207,78.09 z" /></clipPath><linearGradient
id="linearGradient110"
spreadMethod="pad"
gradientTransform="matrix(183.014,0,0,-183.014,811.262,732.92)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop112"
offset="0"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop114"
offset="0.28177946"
style="stop-opacity:1;stop-color:#60b932" /><stop
id="stop116"
offset="1"
style="stop-opacity:1;stop-color:#367c34" /></linearGradient><clipPath
id="clipPath130"
clipPathUnits="userSpaceOnUse"><path
id="path132"
d="m 1425.85,1236.72 c -26.54,31.73 -56.72,60.31 -89.93,85.04 -4.76,3.54 -9.6,6.96 -14.47,10.34 l -68.19,-70.92 -248.9,-258.85 342.73,177.37 87.87,45.47 c -3.04,3.85 -5.97,7.79 -9.11,11.55 z" /></clipPath><linearGradient
id="linearGradient134"
spreadMethod="pad"
gradientTransform="matrix(398.333,295,295,-398.333,1007.12,1003.81)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop136"
offset="0"
style="stop-opacity:1;stop-color:#4596d8" /><stop
id="stop138"
offset="0.2"
style="stop-opacity:1;stop-color:#4596d8" /><stop
id="stop140"
offset="1"
style="stop-opacity:1;stop-color:#ffffff" /></linearGradient><clipPath
id="clipPath148"
clipPathUnits="userSpaceOnUse"><path
id="path150"
d="m 1548.16,904.152 c -0.05,6.012 -0.41,11.946 -0.66,17.911 l -97.38,6.988 -445.76,31.992 437.31,-151.719 91.93,-31.894 c 0.27,1.09 0.58,2.16 0.84,3.261 8.94,38.36 13.82,78.262 13.82,119.309 0,1.391 -0.09,2.762 -0.1,4.152 z" /></clipPath><linearGradient
id="linearGradient152"
spreadMethod="pad"
gradientTransform="matrix(571.667,-116.667,-116.667,-571.667,1004,959.247)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop154"
offset="0"
style="stop-opacity:1;stop-color:#4194d7" /><stop
id="stop156"
offset="0.2"
style="stop-opacity:1;stop-color:#4194d7" /><stop
id="stop158"
offset="1"
style="stop-opacity:1;stop-color:#ffffff" /></linearGradient><clipPath
id="clipPath166"
clipPathUnits="userSpaceOnUse"><path
id="path168"
d="m 1533.81,1022.04 c -9.54,39.96 -23.71,78.1 -41.81,113.96 l -93.52,-30.05 -387.37,-124.485 429.18,14.613 98.25,3.348 c -1.46,7.574 -2.95,15.144 -4.73,22.614 z" /></clipPath><linearGradient
id="linearGradient170"
spreadMethod="pad"
gradientTransform="matrix(526.667,95,95,-526.667,1012.79,977.078)"
gradientUnits="userSpaceOnUse"
y2="0"
x2="1"
y1="0"
x1="0"><stop
id="stop172"
offset="0"
style="stop-opacity:1;stop-color:#4194d7" /><stop
id="stop174"
offset="0.332637"
style="stop-opacity:1;stop-color:#4496d8" /><stop
id="stop176"
offset="1"
style="stop-opacity:1;stop-color:#ffffff" /></linearGradient></defs><g
transform="matrix(1.25,0,0,-1.25,0,225)"
id="g10"><g
transform="scale(0.1,0.1)"
id="g12"><path
id="path14"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 572.695,900 c 0,248.53 201.473,450 450.005,450 248.52,0 450,-201.47 450,-450 0,-248.531 -201.48,-450 -450,-450 -248.532,0 -450.005,201.469 -450.005,450" /><path
id="path16"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1776.93,1083.54 c 0,13.16 10.77,23.94 23.34,23.94 13.16,0 23.93,-10.78 23.93,-23.94 l 0,-165.177 241.78,0 0,165.177 c 0,13.16 10.77,23.94 23.93,23.94 12.57,0 23.34,-10.78 23.34,-23.94 l 0,-377.028 c 0,-13.172 -10.77,-23.942 -23.34,-23.942 -13.16,0 -23.93,10.77 -23.93,23.942 l 0,167.566 -241.78,0 0,-167.566 c 0,-13.172 -10.77,-23.942 -23.93,-23.942 -12.57,0 -23.34,10.77 -23.34,23.942 l 0,377.028" /><path
id="path18"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 2483.73,839.371 -96.35,214.239 -96.35,-214.239 192.7,0 z M 2187.5,716.68 l 169.96,371.64 c 5.98,13.17 14.96,20.95 29.92,20.95 l 2.4,0 c 14.36,0 23.93,-7.78 29.32,-20.95 l 169.95,-371.031 c 1.8,-4.187 3,-8.379 3,-11.969 0,-12.57 -10.17,-22.75 -22.74,-22.75 -11.37,0 -19.15,7.782 -23.34,17.36 l -43.68,96.351 -229.81,0 -43.69,-97.551 c -4.19,-10.171 -11.96,-16.16 -22.75,-16.16 -11.96,0 -21.54,9.578 -21.54,21.551 0,3.59 0.61,7.777 3,12.559" /><path
id="path20"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 2839.84,890.836 c 62.84,0 107.72,32.312 107.72,86.176 l 0,1.195 c 0,51.463 -39.49,82.593 -107.12,82.593 l -129.27,0 0,-169.964 128.67,0 z M 2663.9,1080.54 c 0,13.17 10.77,23.94 23.34,23.94 l 156.78,0 c 51.48,0 92.77,-15.56 119.1,-41.89 20.35,-20.35 32.32,-49.67 32.32,-82.586 l 0,-1.195 c 0,-68.825 -46.68,-108.922 -111.91,-121.489 l 104.13,-134.05 c 4.78,-5.391 7.78,-10.77 7.78,-17.36 0,-12.57 -11.97,-23.34 -23.95,-23.34 -9.57,0 -16.74,5.391 -22.13,12.571 l -117.9,153.203 -120.29,0 0,-141.832 c 0,-13.172 -10.77,-23.942 -23.93,-23.942 -12.57,0 -23.34,10.77 -23.34,23.942 l 0,374.028" /><path
id="path22"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 3265.37,728.059 c 63.44,0 102.93,28.121 102.93,74.8 l 0,1.2 c 0,45.484 -38.3,71.816 -111.31,71.816 l -132.25,0 0,-147.816 140.63,0 z m -16.76,189.707 c 56.86,0 96.35,25.73 96.35,74.808 l 0,1.196 c 0,41.29 -32.91,68.22 -92.75,68.22 l -127.47,0 0,-144.224 123.87,0 z m -170.55,162.774 c 0,13.17 10.77,23.94 23.34,23.94 l 155,0 c 47.87,0 85.57,-13.76 109.51,-37.1 17.35,-17.95 26.93,-40.1 26.93,-67.03 l 0,-1.194 c 0,-54.461 -33.51,-82.59 -66.42,-96.949 49.66,-14.961 89.76,-43.687 89.76,-101.137 l 0,-1.199 c 0,-71.812 -60.45,-114.301 -152.01,-114.301 l -162.77,0 c -12.57,0 -23.34,10.77 -23.34,23.93 l 0,371.04" /><path
id="path24"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 3851.28,893.828 0,1.195 c 0,95.153 -69.42,172.947 -165.18,172.947 -95.75,0 -163.97,-76.599 -163.97,-171.747 l 0,-1.2 c 0,-95.152 69.42,-172.953 165.17,-172.953 95.76,0 163.98,76.602 163.98,171.758 z m -378.22,0 0,1.195 c 0,115.497 86.77,216.637 214.24,216.637 127.48,0 213.05,-99.94 213.05,-215.437 l 0,-1.2 c 0,-115.503 -86.78,-216.644 -214.25,-216.644 -127.47,0 -213.04,99.949 -213.04,215.449" /><path
id="path26"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 4157.73,890.836 c 62.84,0 107.72,32.312 107.72,86.176 l 0,1.195 c 0,51.463 -39.49,82.593 -107.12,82.593 l -129.27,0 0,-169.964 128.67,0 z m -175.94,189.704 c 0,13.17 10.77,23.94 23.34,23.94 l 156.78,0 c 51.48,0 92.77,-15.56 119.1,-41.89 20.35,-20.35 32.32,-49.67 32.32,-82.586 l 0,-1.195 c 0,-68.825 -46.68,-108.922 -111.91,-121.489 l 104.13,-134.05 c 4.78,-5.391 7.78,-10.77 7.78,-17.36 0,-12.57 -11.97,-23.34 -23.95,-23.34 -9.57,0 -16.74,5.391 -22.13,12.571 l -117.89,153.203 -120.3,0 0,-141.832 c 0,-13.172 -10.77,-23.942 -23.93,-23.942 -12.57,0 -23.34,10.77 -23.34,23.942 l 0,374.028" /><path
id="path28"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 4453.96,1101.82 c 0,4.53 3.13,7.68 7.67,7.68 l 2.09,0 c 3.15,0 5.24,-1.4 6.98,-3.85 l 37.69,-58.62 38.39,58.62 c 1.75,2.45 3.84,3.85 6.63,3.85 l 2.09,0 c 3.85,0 7.33,-3.49 7.33,-7.68 l 0,-94.22 c 0,-4.19 -3.48,-7.682 -7.67,-7.682 -4.19,0 -7.34,3.492 -7.34,7.682 l 0,72.58 -32.45,-48.5 c -1.75,-2.8 -3.84,-4.54 -6.98,-4.54 -3.14,0 -5.24,1.74 -6.97,4.54 l -32.11,48.5 0,-72.58 c 0,-4.19 -3.49,-7.682 -7.68,-7.682 -4.19,0 -7.67,3.492 -7.67,7.682 l 0,94.22 z m -73.64,-7.33 -28.96,0 c -3.84,0 -7.34,3.49 -7.34,7.33 0,3.83 3.5,7.32 7.34,7.32 l 72.93,0 c 4.19,0 7.33,-3.49 7.33,-7.32 0,-3.84 -3.14,-7.33 -7.33,-7.33 l -28.62,0 0,-86.89 c 0,-4.19 -3.48,-7.682 -8.02,-7.682 -4.19,0 -7.33,3.492 -7.33,7.682 l 0,86.89" /><g
id="g30"><g
clip-path="url(#clipPath34)"
id="g32"><path
id="path46"
style="fill:url(#linearGradient38);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 1006.51,526.57 798.98,618.02 787.426,487.43 1015.64,414.922 1006.51,526.57" /></g></g><g
id="g48"><g
clip-path="url(#clipPath52)"
id="g50"><path
id="path64"
style="fill:url(#linearGradient56);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 839.609,1031.79 116.543,0 0,-99.427 -27.656,0 0,42.469 c 0,16.84 -13.773,30.618 -30.613,30.618 -16.84,0 -30.617,-13.778 -30.617,-30.618 l 0,-42.469 -27.657,0 0,99.427 z m -23.285,-217.767 172.906,-76.195 -11.921,145.813 22.629,0 0,48.722 -16.79,0 0,99.427 16.79,0 0,28.58 -93.254,91.25 0,6.42 c 0,4.84 -3.961,8.8 -8.801,8.8 -4.84,0 -8.801,-3.96 -8.801,-8.8 l 0,-6.42 -93.258,-91.25 0,-28.58 16.793,0 0,-99.427 -16.793,0 0,-48.722 26.66,0 -6.16,-69.618" /></g></g><g
id="g66"><g
clip-path="url(#clipPath70)"
id="g68"><path
id="path82"
style="fill:url(#linearGradient74);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 806.199,699.59 193.121,-85.11 -2.898,35.442 -187.317,82.539 -2.906,-32.871" /></g></g><g
id="g84"><g
clip-path="url(#clipPath88)"
id="g86"><path
id="path100"
style="fill:url(#linearGradient92);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 801.137,642.371 203.223,-89.562 -2.89,35.429 -197.423,87 -2.91,-32.867" /></g></g><g
id="g102"><g
clip-path="url(#clipPath106)"
id="g104"><path
id="path118"
style="fill:url(#linearGradient110);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 814.172,789.68 -2.91,-32.879 183.015,-80.641 -2.898,35.43 -177.207,78.09" /></g></g><path
id="path120"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 1398.48,1105.95 1492,1136 c -0.34,0.66 -0.62,1.36 -0.96,2.01 -15.8,30.98 -34.7,60.09 -56.08,87.16 l -87.87,-45.47 c 19.17,-22.23 36.21,-46.32 50.56,-72.15 0.29,-0.52 0.54,-1.07 0.83,-1.6" /><path
id="path122"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1450.12,929.051 97.38,-6.988 c -1.1,26.328 -4.09,52.16 -8.96,77.363 l -98.25,-3.348 c 5.01,-21.762 8.29,-44.148 9.83,-67.027" /><path
id="path124"
style="fill:#696566;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1022.7,471.289 c -236.395,0 -428.723,192.32 -428.723,428.711 0,236.39 192.328,428.71 428.723,428.71 84.83,0 163.93,-24.84 230.56,-67.53 l 68.19,70.92 c -84.89,58.88 -187.85,93.48 -298.75,93.48 -289.802,0 -525.571,-235.78 -525.571,-525.58 0,-289.801 235.769,-525.578 525.571,-525.578 247.58,0 455.51,172.168 510.9,403.008 l -91.93,31.894 C 1399.94,616.352 1227.98,471.289 1022.7,471.289" /><g
id="g126"><g
clip-path="url(#clipPath130)"
id="g128"><path
id="path142"
style="fill:url(#linearGradient134);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1425.85,1236.72 c -26.54,31.73 -56.72,60.31 -89.93,85.04 -4.76,3.54 -9.6,6.96 -14.47,10.34 l -68.19,-70.92 -248.9,-258.85 342.73,177.37 87.87,45.47 c -3.04,3.85 -5.97,7.79 -9.11,11.55" /></g></g><g
id="g144"><g
clip-path="url(#clipPath148)"
id="g146"><path
id="path160"
style="fill:url(#linearGradient152);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1548.16,904.152 c -0.05,6.012 -0.41,11.946 -0.66,17.911 l -97.38,6.988 -445.76,31.992 437.31,-151.719 91.93,-31.894 c 0.27,1.09 0.58,2.16 0.84,3.261 8.94,38.36 13.82,78.262 13.82,119.309 0,1.391 -0.09,2.762 -0.1,4.152" /></g></g><g
id="g162"><g
clip-path="url(#clipPath166)"
id="g164"><path
id="path178"
style="fill:url(#linearGradient170);fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1533.81,1022.04 c -9.54,39.96 -23.71,78.1 -41.81,113.96 l -93.52,-30.05 -387.37,-124.485 429.18,14.613 98.25,3.348 c -1.46,7.574 -2.95,15.144 -4.73,22.614" /></g></g></g></g></svg>
\ No newline at end of file
name: harbor
description: |
企业级容器仓库 [by VMware]
version: v1.7.5
category: Private Container Registry
projectURL: https://github.com/vmware/harbor
license: Apache License 2.0
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论