当前位置:   article > 正文

docker-harbor私有仓库及docker-compose技术(五)_docker-compose harbor standalone

docker-compose harbor standalone

目录

一、Harbor概述

1、什么是Harbor

2、Harbor的优势

3、Harbor的构成

4、Harbor 配置文件以及相关参数

二、部署harbor私有仓库

1、前期准备

2、解压安装并修改配置

3、检查harbor服务容器是否开启

4、访问UI界面并创建项目

5、在本地测试仓库功能

 三、维护管理Harbor,创建管理用户

1、维护管理harbor步骤

2、创建 Harbor 用户

3、移除 Harbor 服务容器以及全部数据

总结


一、Harbor概述

1、什么是Harbor

Harbor 是VMware公司开源的云本地 registry 仓库,有可视化的Web管理界面,可以方便的管理和

储存 Docker 镜像。Harbor 支持在多个仓库直接进行复制镜像,提供用户管理和访问控制和活动审

计。

Harbor被部署为多个Docker 容器,因此可以部署在任何支持Docker的Linux 发行版上。(registry

为其核心组件)。

Harbor比registry相比好处是:harbor 支持多种功能、图形化界面管理、多用户权限、角色管理机

制、安全机制。

服务端主机需要安装Python、 Docker 和Docker Compose。(web 环境支持的是PY语言,centos7

虚拟机自带Python)

2、Harbor的优势

◎基于角色控制:有管理员与普通用户,可赋权普通用户,比如只能上传和下载,可根据项目来进

行操作和管理;

◎基于镜像的复制策略:也与权限相关,比如有只一些用户与组才能对此项目进行相对应的操作;

◎支持LDAP/AD:域控制,比如南京去下载北京harbor;

私有仓库的镜像,两端打上局域网的地址,连接在一块,数据信息的传输通过一条隧道,会通

过两层加密,第一层为隧道加密,第二层为数据加密,安全可靠。

◎图像删除和垃圾收集:即回收站机制;

◎图形UI:具有统计功能,比如访问量与镜像^下载热度;

◎审计:日志,这里意义不大,主要还是借助于ELK;

◎RESTful API:定义Web 语言规范的格式,方便调用Harbor 的接口,也便于二次开发。

3、Harbor的构成

图中各组件解释

◎Proxy:通过一个前置的反向代理统一接收浏览器、Docker客户端的请求,并将请求转发给后端

不同的服务;

◎Registry:负责存储Docker镜像,并处理docker push/pull命令;

◎Core services:Harbor的核心功能,包括UI、webhook、token服务;

◎Database:为core services提供数据库服务;

◎Log collector:·负责收集其他组件的log,供日后进行分析。

图解:

        所有的请求都经过proxy代理,proxy代理转发给Core services和Registry,其中Core services

包括UI界面、token令牌和webhook网页服务功能,Registry主要提供镜像存储功能。如果要进行下

载上传镜像,要经过token令牌验证然后从Registry获取或上传镜像,每一次下载或上传都会生成日

志记录,会记入Log collector,而用户身份权限及一些镜像语言信息会被存储在Database中。

注:这些组件都是以容器封装的方式,使用docker-compose编排管理完成的。registry是代码仓

库。

4、Harbor 配置文件以及相关参数

Harbor的配置文件是:/usr/local/harbor/harbor.cfg

关于 Harbor.cfg 配置文件中有两类参数:所需参数和可选参数

(1)所需参数

修改此参数后,需要运行 install.sh脚本重新安装 Harbour,参数才会生效。

◆ hostname

用于访问用户界面和 register 服务。

它应该是目标机器的 IP 地址或完全限定的域名(FQDN)

例如 192.168.163.100 或test.com。不要使用 localhost 或 127.0.0.1 为主机名。

◆ ui_url_protocol

(参数选项:http 或 https,默认为 http)用于访问 UI 和令牌/通知服务的协议。如果公证处于启

用状态,则此参数必须为 https。

◆ max_job_workers

镜像复制作业线程。

◆ db_password

用于db_auth 的MySQL数据库root 用户的密码。

◆ customize_crt

该属性可设置为打开或关闭,默认打开。打开此属性时,准备脚本创建私钥和根证书,用于生成/

验证注册表令牌。当由外部来源提供密钥和根证书时,将此属性设置为 off。

◆ ssl_cert

SSL 证书的路径,仅当协议设置为 https 时才应用。

◆ ssl_cert_key

SSL 密钥的路径,仅当协议设置为 https 时才应用。

◆ secretkey_path

用于在复制策略中加密或解密远程 register 密码的密钥路径。不建议配置,有很大的安全隐患

(2)可选参数

这些参数对于更新是可选的,即用户可以将其保留为默认值,并在启动 Harbor 后在 Web UI 上进

行更新。如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数 的更新,

Harbor.cfg 将被忽略。

注意:如果选择通过UI设置这些参数,请确保在启动Harbour后立即执行此操作。具体来说,必须

在注册或在 Harbor 中创建任何新用户之前设置所需的auth_mode。当系统中有用户时(除了默认

的 admin 用户),auth_mode 不能被修改。具体参数如下:

◆ Email

Harbor需要该参数才能向用户发送“密码重置”电子邮件,并且只有在需要该功能时才需要。

请注意,在默认情况下SSL连接时没有启用。如果SMTP服务器需要SSL,但不支持STARTTLS,

那么应该通过设置启用SSL email_ssl = TRUE。

◆ harbour_admin_password

管理员的初始密码,只在Harbour第一次启动时生效。之后,此设置将被忽略,并且应 UI中设置管

理员的密码。默认的用户名/密码是 admin/Harbor12345。

◆ auth_mode

使用的认证类型,默认情况下,它是 db_auth,即凭据存储在数据库中。对于LDAP身份验证,请

将其设置为 ldap_auth。

◆ self_registration

启用/禁用用户注册功能。禁用时,新用户只能由 Admin 用户创建,只有管理员用户可以在

Harbour中创建新用户。

注意:当 auth_mode 设置为 ldap_auth 时,自注册功能将始终处于禁用状态,并且该标志被忽

略。

◆ Token_expiration

由令牌服务创建的令牌的到期时间(分钟),默认为 30 分钟。即登录–退出后,30分钟内可以不

输入用户名和密码登录,30分钟后需要再次验证。

◆ project_creation_restriction

用于控制哪些用户有权创建项目的标志,表示哪些用户可以创建项目。默认情况下, 每个人都可

以创建一个项目。如果将其值设置为“adminonly”,那么只有 admin 可以创建项目。

◆ verify_remote_cert

打开或关闭,默认打开。此标志决定了当Harbor与远程 register 实例通信时是否验证 SSL/TLS 证

书。将此属性设置为 off 将绕过 SSL/TLS 验证,这在远程实例具有自签名或不可信证书时经常使

用。

另外,默认情况下,Harbour 将镜像存储在本地文件系统上。在生产环境中,可以考虑 使用其他

存储后端而不是本地文件系统,如 S3、Openstack Swif、Ceph 等。但需要更新

common/templates/registry/config.yml 文件。

二、部署harbor私有仓库

1、前期准备

#部署环境确认

#准备harbor安装包harbor-offline-installer-v1.2.2.tgz

wget http:// harbor.orientsoft.cn/harbor-1.2.2/harbor-offline-installer-v1.2.2.tgz

#准备docker-compose安装包docker-compose

2、解压安装并修改配置

  1. [root@docker ~]# ls #上传压缩包
  2. anaconda-ks.cfg original-ks.cfg 模板 图片 下载 桌面
  3. harbor-offline-installer-v1.2.2.tgz 公共 视频 文档 音乐
  4. [root@docker ~]# tar -zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
  5. [root@docker ~]# vim /usr/local/harbor/harbor.cfg
  6. ……
  7. hostname = 192.168.110.133 #主机名修改为本机IP地址
  8. ……
  9. [root@docker ~]# cd /usr/local/bin/ #在此目录下上传Docker-Compose二进制文件
  10. [root@docker bin]# ls #此时这个文件只有读取权限
  11. docker-compose
  12. [root@docker bin]# chmod +x docker-compose #给此文件执行权限
  13. [root@docker bin]# ll
  14. -rwxr-xr-x 1 root root 10867152 12æ 3 09:34 docker-compose
  15. [root@docker bin]# docker-compose -v #确认docker-compose版本,是否安装成功
  16. docker-compose version 1.21.1, build 5a3f1a3
  17. [root@docker bin]# #注意:在启动harbor之前,要检查docker和docker-compose是否安装,不安装是无法启动的

  1. [root@docker ~]# sh /usr/local/harbor/install.sh #修改配置文件后,使用install.sh脚本启动haibor
  2. [Step 0]: checking installation environment ...
  3. Note: docker version: 20.10.11
  4. Note: docker-compose version: 1.21.1
  5. [Step 1]: loading Harbor images ... #启动harbor后,会自动下载相关镜像并运行成容器
  6. dd60b611baaa: Loading layer 133.2MB/133.2MB
  7. abf0579c40fd: Loading layer 1.536kB/1.536kB
  8. ea1fc7bed9c5: Loading layer 22.48MB/22.48MB
  9. 1d6671367c69: Loading layer 7.168kB/7.168kB
  10. ……
  11. [root@docker ~]# docker ps -a #查看harbor启动容器和镜像
  12. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  13. 17c82f2024e1 vmware/nginx-photon:1.11.13 "nginx -g 'daemon of…" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:4443->4443/tcp, :::4443->4443/tcp nginx
  14. 8d4f72a2b938 vmware/harbor-jobservice:v1.2.2 "/harbor/harbor_jobs…" 5 minutes ago Up 5 minutes harbor-jobservice
  15. b65dd14d17ad vmware/harbor-ui:v1.2.2 "/harbor/harbor_ui" 5 minutes ago Up 5 minutes harbor-ui
  16. 84bf5c9c040b vmware/registry:2.6.2-photon "/entrypoint.sh serv…" 5 minutes ago Up 5 minutes 5000/tcp registry
  17. 60bc7f99c8d4 vmware/harbor-db:v1.2.2 "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 3306/tcp harbor-db
  18. 660e2853d851 vmware/harbor-adminserver:v1.2.2 "/harbor/harbor_admi…" 5 minutes ago Up 5 minutes harbor-adminserver
  19. 13868c6a194b vmware/harbor-log:v1.2.2 "/bin/sh -c 'crond &…" 5 minutes ago Up 5 minutes 127.0.0.1:1514->514/tcp harbor-log
  20. [root@docker ~]# docker images #查看镜像,可以看到harbor自己将需求的镜像都下载了如photon环境,db数据库和ui界面等
  21. vmware/harbor-log v1.2.2 36ef78ae27df 4 years ago 200MB
  22. vmware/harbor-jobservice v1.2.2 e2af366cba44 4 years ago 164MB
  23. vmware/harbor-ui v1.2.2 39efb472c253 4 years ago 178MB
  24. vmware/harbor-adminserver v1.2.2 c75963ec543f 4 years ago 142MB
  25. vmware/harbor-db v1.2.2 ee7b9fa37c5d 4 years ago 329MB
  26. vmware/nginx-photon 1.11.13 6cc5c831fc7f 4 years ago 144MB
  27. vmware/registry 2.6.2-photon 5d9100e4350e 4 years ago 173MB
  28. vmware/postgresql 9.6.4-photon c562762cbd12 4 years ago 225MB
  29. vmware/clair v2.0.1-photon f04966b4af6c 4 years ago 297MB
  30. vmware/harbor-notary-db mariadb-10.1.10 64ed814665c6 4 years ago 324MB
  31. vmware/notary-photon signer-0.5.0 b1eda7d10640 4 years ago 156MB
  32. vmware/notary-photon server-0.5.0 6e2646682e3c 4 years ago 157MB
  33. photon 1.0 e6e4e4a2ba1b 5 years ago 128MB
  34. progrium/stress latest db646a8f4087 7 years ago 282MB
  35. [root@docker ~]#

3、检查harbor服务容器是否开启

  1. [root@docker ~]# cd /usr/local/harbor/ #注意切换到harbor工作目录,此目录下需要使用docker-compose.yml文件
  2. [root@docker harbor]# docker-compose ps #在有上述这个文件第目录下才能使用此查询清单命令,检测当前应用的容器是否正常
  3. Name Command State Ports
  4. ---------------------------------------------------------------------------------------------------
  5. harbor-adminserver /harbor/harbor_adminserver Up
  6. harbor-db docker-entrypoint.sh mysqld Up 3306/tcp
  7. harbor-jobservice /harbor/harbor_jobservice Up
  8. harbor-log /bin/sh -c crond && rm -f ... Up 127.0.0.1:1514->514/tcp
  9. harbor-ui /harbor/harbor_ui Up
  10. nginx nginx -g daemon off; Up 0.0.0.0:443->443/tcp,:::443->443/tcp,
  11. 0.0.0.0:4443->4443/tcp,:::4443->4443/
  12. tcp, 0.0.0.0:80->80/tcp,:::80->80/tcp
  13. registry /entrypoint.sh serve /etc/ ... Up 5000/tcp
  14. [root@docker harbor]#

4、访问UI界面并创建项目

宿主机浏览器访问 http://192.168.110.133 的管理页面,默认的管理员用户名和密码是

admin/Harbor12345。

 添加项目并且填写项目名称

 

 

5、在本地测试仓库功能

此时可使用 Docker 命令在本地通过 127.0.0.1 来登录和推送镜像。默认情况下,

Register 服务器在端口 80 上侦听。

 

 ①、现在,本地harbor服务器端,我们将镜像上传到私有仓库进行测试

  1. [root@docker .docker]# docker pull nginx #
  2. [root@docker .docker]# docker tag nginx 127.0.0.1/test/centos:nginx_v1 #打包,并打标签
  3. [root@docker .docker]# docker push 127.0.0.1/test/centos:nginx_v1 #上传到私有仓库
  4. The push refers to repository [127.0.0.1/test/centos]
  5. 2bed47a66c07: Pushed
  6. 82caad489ad7: Pushed
  7. d3e1dca44e82: Pushed
  8. c9fcd9c6ced8: Pushed
  9. 0664b7821b60: Pushed
  10. 9321ff862abb: Pushed
  11. nginx_v1: digest: sha256:4424e31f2c366108433ecca7890ad527b243361577180dfd9a5bb36e828abf47 size: 1570
  12. ……

接着在浏览器harbor的ui界面查看

 ②、在客户端上传镜像进行验证

client:192.168.110.134  #注意客户端安装docker社区版,并且设置镜像加速

上述操作都是在 Harbor 服务器本地操作。如果其他客户端上传镜像到 Harbor,就会报如下错误。

出现这问题的原因 Docker Registry 交互默认使用的是 HTTPS,但是搭建私有镜像默认使用的是

HTTP 服务,所以与私有镜像交互时出现以下错误。

  1. #我们直接登录会报错,如下
  2. [root@client ~]# docker login -u admin -p Harbor12345 http://192.168.110.133
  3. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
  4. INFO[0000] Error logging in to endpoint, trying next endpoint error="Get \"https://192.168.110.133/v2/\": dial tcp 192.168.110.133:443: connect: connection refused"
  5. Get "https://192.168.110.133/v2/": dial tcp 192.168.110.133:443: connect: connection refused
  6. [root@client ~]# #解决方法如下
  7. [root@client ~]# vim /usr/lib/systemd/system/docker.service
  8. #修改内容地方
  9. ......
  10. 将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改为
  11. ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.110.133 --containerd=/run/containerd/containerd.sock
  12. ......
  13. #重启服务
  14. [root@client ~]# systemctl daemon-reload
  15. [root@client ~]# systemctl restart docker
  16. #再次登录
  17. [root@client ~]# docker login -u admin -p Harbor12345 http://192.168.110.133
  18. WARNING! Using --password via the CLI is insecure. Use --password-stdin.
  19. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
  20. Configure a credential helper to remove this warning. See
  21. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
  22. Login Succeeded
  23. [root@client ~]# #注意上面都是警告,看到结尾Login Succeeded表示成功登陆
  24. [root@client ~]# docker pull tomcat
  25. [root@client ~]# docker images
  26. REPOSITORY TAG IMAGE ID CREATED SIZE
  27. tomcat latest 49842ef82091 42 hours ago 680MB
  28. [root@client ~]# docker tag tomcat 192.168.110.133/test/centos:tomcat_v1
  29. [root@client ~]# docker images
  30. REPOSITORY TAG IMAGE ID CREATED SIZE
  31. 192.168.110.133/test/centos tomcat_v1 49842ef82091 43 hours ago 680MB
  32. tomcat latest 49842ef82091 43 hours ago 680MB
  33. [root@client ~]# docker push 192.168.110.133/test/centos:tomcat_v1
  34. The push refers to repository [192.168.110.133/test/centos]
  35. 009f006c5c51: Pushed
  36. 2618b7cbd2f1: Pushed
  37. f79d29235239: Pushed
  38. 5c81f9330d99: Pushed
  39. 927f9fcef4cf: Pushed
  40. a81f1846a0d2: Pushed
  41. 3b441d7cb46b: Pushed
  42. d3710de04cb3: Pushed
  43. 91f7336bbfff: Pushed
  44. e2e8c39e0f77: Pushed
  45. tomcat_v1: digest: sha256:7035e09ef67377cc4275cae24a2912de34e6bfb590ea214dc27f6ffc2498cd70 size: 2422
  46. [root@client ~]#

下面,我们回到harbor项目查看client端上传到项目test的镜像

 三、维护管理Harbor,创建管理用户

可以使用 docker-compose 来管理 Harbor。一些有用的命令如下所示,必须在与docker-

compose.yml 相同的目录中运行。

修改 Harbor.cfg 配置文件。要更改 Harbour 的配置文件时,请先停止现有的 Harbour 实例并更新

Harbor.cfg;然后运行 prepare 脚本来填充配置;最后重新创建并启动 Harbour 的实例。

1、维护管理harbor步骤

  1. # 停止现有的 Harbor 实例
  2. cd /usr/local/harbor/
  3. docker-compose down -v
  4. #编辑配置文件/usr/local/harbor/harbor.cfg
  5. vim harbor.cfg #停止后才可以修改配置文件
  6. ……
  7. ostname = 192.168.110.133
  8. # 运行prepare脚本来填充配置
  9. ./prepare
  10. #重新启动Harbor
  11. docker-compose up -d
  12. #如果报错
  13. 解决思路
  14. 关闭防火墙、重启docker
  15. systemctl stop firewalld
  16. setenfore 0
  17. systemctl restart docker

2、创建 Harbor 用户

在haarbor的ui界面用户管理选项创建

 创建的新用户设置为管理员

 创建项目管理人员或开发人员

 

 我们在在客户端上操作,测试新创建管理员用户是否能正常使用

  1. [root@client ~]# docker logout 192.168.110.133 #注销之前的登录用户
  2. Removing login credentials for 192.168.110.133
  3. [root@client ~]# docker login 192.168.110.133 #重新登陆,使用新用户
  4. Username: zhangsan #输入用户名
  5. Password: #输入密码
  6. WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
  7. Configure a credential helper to remove this warning. See
  8. https://docs.docker.com/engine/reference/commandline/login/#credentials-store
  9. Login Succeeded #成功登陆
  10. [root@client ~]# docker images
  11. REPOSITORY TAG IMAGE ID CREATED SIZE
  12. 192.168.110.133/test/centos tomcat_v1 49842ef82091 44 hours ago 680MB
  13. tomcat latest 49842ef82091 44 hours ago 680MB
  14. [root@client ~]# docker rmi 192.168.110.133/test/centos:tomcat_v1 #删除之前打标签的镜像
  15. Untagged: 192.168.110.133/test/centos:tomcat_v1
  16. Untagged: 192.168.110.133/test/centos@sha256:7035e09ef67377cc4275cae24a2912de34e6bfb590ea214dc27f6ffc2498cd70
  17. [root@client ~]# docker images
  18. REPOSITORY TAG IMAGE ID CREATED SIZE
  19. tomcat latest 49842ef82091 44 hours ago 680MB
  20. [root@client ~]# docker pull 192.168.110.133/test/centos:nginx_v1 #从私有仓库下载镜像
  21. nginx_v1: Pulling from test/centos
  22. e5ae68f74026: Pull complete
  23. 21e0df283cd6: Pull complete
  24. ed835de16acd: Pull complete
  25. 881ff011f1c9: Pull complete
  26. 77700c52c969: Pull complete
  27. 44be98c0fab6: Pull complete
  28. Digest: sha256:4424e31f2c366108433ecca7890ad527b243361577180dfd9a5bb36e828abf47
  29. Status: Downloaded newer image for 192.168.110.133/test/centos:nginx_v1
  30. 192.168.110.133/test/centos:nginx_v1
  31. [root@client ~]# docker images
  32. REPOSITORY TAG IMAGE ID CREATED SIZE
  33. tomcat latest 49842ef82091 44 hours ago 680MB
  34. 192.168.110.133/test/centos nginx_v1 f652ca386ed1 2 days ago 141MB
  35. [root@client ~]# #成功下载镜像,zhangsan用户可以管理test仓库镜像

3、移除 Harbor 服务容器以及全部数据

在Harbor服务器上操作,移除 Harbor 服务容器同时保留镜像数据/数据库。

  1. cd /usr/local/harbor/
  2. docker-compose down -v
  3. 如需重新部署,需要移除 Harbor 服务容器全部数据
  4. 持久数据,如镜像,数据库等在宿主机的/data/目录下,日志在宿主机的/var/log/Harbor/目录下。
  5. rm -rf /data/database/
  6. rm -rf /data/registry/
  7. #实际操作如下
  8. [root@docker ~]# cd /usr/local/harbor/
  9. [root@docker harbor]# ls
  10. common docker-compose.yml harbor.v1.2.2.tar.gz NOTICE
  11. docker-compose.clair.yml harbor_1_1_0_template install.sh prepare
  12. docker-compose.notary.yml harbor.cfg LICENSE upgrade
  13. [root@docker harbor]# docker-compose down -v #停止启动的harbor容器
  14. Stopping nginx ... done
  15. Stopping harbor-jobservice ... done
  16. Stopping harbor-ui ... done
  17. Stopping harbor-db ... done
  18. Stopping registry ... done
  19. Stopping harbor-adminserver ... done
  20. Stopping harbor-log ... done
  21. Removing nginx ... done
  22. Removing harbor-jobservice ... done
  23. Removing harbor-ui ... done
  24. Removing harbor-db ... done
  25. Removing registry ... done
  26. Removing harbor-adminserver ... done
  27. Removing harbor-log ... done
  28. Removing network harbor_harbor
  29. [root@docker harbor]# docker ps -a #没了
  30. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  31. [root@docker harbor]# ls /data/registry/docker/registry/v2/repositories/test/
  32. #可以看到harbor私有仓库版本还有我们创建的项目test,以及上传的镜像都在这里
  33. centos
  34. [root@docker harbor]# rm -rf /data/database/
  35. [root@docker harbor]# rm -rf /data/registry/
  36. #删除这两个目录后,就清除了harber服务的全部数据,现在就可以重新部署了

总结

1、docker-harbor镜像仓库:是本地私有镜像仓库,用于保存项目/企业/平台内部经常使用的镜像/自定义的镜像,用于给docker/k8s使用

2、docker-harbor服务有多个子功能模块组成,例如:UI、Nginx、MySQL、Proxy、Registry、Adminserver、Jobserver、Docker-harbor使用docker-compose的方式将以上的子功能模块以容器的形式部署/展现出来,并且进行统一的编排管理。

3、docker-compose编排管理容器:(1)docker-compose可以定义镜像拉取的方式(①docker-hub公共仓库拉取;②dockerfile自定义构建镜像);(2)docker-compose可以指定镜像的挂载、镜像中服务的端口暴露、可以指定network网络、可以指定env环境变量、可以指定重启策略等等。PS:docker-compose就是用来批量管理镜像、容器的一个技术。

4、docker-harbor使用:(1)tar解压;(2)上传docker-compose命令工具,给与执行权限;(3)执行install.sh脚本;(4)在docker的systemd管理服务的docker.sevice启动文件中,添加insecure-registry 192.168.32.15(harbor仓库位置)并且重载守护进程systemctl daemon-reload和重启容器docker restart docker让本地的docker可以识别并登陆本地私有仓库(docker login);(5)上传镜像必要操作:docker tag source_image_name:tag 192.168.32.15/proiect_name/image_name:TAG,再docker push 192.168.32.15/project_name/image_name:TAG

5、harbor-UI界面操作:(1)可以进行用户/角色的创建和权限管理;(2)认证管理:数据库/ldap;(3)镜像操作日志管理;(4)token令牌管理

6、harbor(高可用);认证(CA、LDAP);备份

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/41783
推荐阅读
相关标签
  

闽ICP备14008679号