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

目录

一、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的构成

docker-harbor私有仓库及docker-compose技术(五)_第1张图片

图中各组件解释

◎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、解压安装并修改配置

[root@docker ~]# ls   #上传压缩包
anaconda-ks.cfg                      original-ks.cfg  模板  图片  下载  桌面
harbor-offline-installer-v1.2.2.tgz  公共             视频  文档  音乐
[root@docker ~]# tar -zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
[root@docker ~]# vim /usr/local/harbor/harbor.cfg 

……
hostname = 192.168.110.133      #主机名修改为本机IP地址
……
[root@docker ~]# cd /usr/local/bin/   #在此目录下上传Docker-Compose二进制文件
[root@docker bin]# ls   #此时这个文件只有读取权限
docker-compose
[root@docker bin]# chmod +x docker-compose  #给此文件执行权限
[root@docker bin]# ll
-rwxr-xr-x 1 root root 10867152 12æ  3 09:34 docker-compose
[root@docker bin]# docker-compose -v   #确认docker-compose版本,是否安装成功
docker-compose version 1.21.1, build 5a3f1a3
[root@docker bin]#  #注意:在启动harbor之前,要检查docker和docker-compose是否安装,不安装是无法启动的

[root@docker ~]# sh /usr/local/harbor/install.sh  #修改配置文件后,使用install.sh脚本启动haibor

[Step 0]: checking installation environment ...

Note: docker version: 20.10.11

Note: docker-compose version: 1.21.1

[Step 1]: loading Harbor images ...    #启动harbor后,会自动下载相关镜像并运行成容器
dd60b611baaa: Loading layer  133.2MB/133.2MB
abf0579c40fd: Loading layer  1.536kB/1.536kB
ea1fc7bed9c5: Loading layer  22.48MB/22.48MB
1d6671367c69: Loading layer  7.168kB/7.168kB
……
[root@docker ~]# docker ps -a    #查看harbor启动容器和镜像
CONTAINER ID   IMAGE                              COMMAND                  CREATED         STATUS         PORTS                                                                                                                 NAMES
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
8d4f72a2b938   vmware/harbor-jobservice:v1.2.2    "/harbor/harbor_jobs…"   5 minutes ago   Up 5 minutes                                                                                                                         harbor-jobservice
b65dd14d17ad   vmware/harbor-ui:v1.2.2            "/harbor/harbor_ui"      5 minutes ago   Up 5 minutes                                                                                                                         harbor-ui
84bf5c9c040b   vmware/registry:2.6.2-photon       "/entrypoint.sh serv…"   5 minutes ago   Up 5 minutes   5000/tcp                                                                                                              registry
60bc7f99c8d4   vmware/harbor-db:v1.2.2            "docker-entrypoint.s…"   5 minutes ago   Up 5 minutes   3306/tcp                                                                                                              harbor-db
660e2853d851   vmware/harbor-adminserver:v1.2.2   "/harbor/harbor_admi…"   5 minutes ago   Up 5 minutes                                                                                                                         harbor-adminserver
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
[root@docker ~]# docker images    #查看镜像,可以看到harbor自己将需求的镜像都下载了如photon环境,db数据库和ui界面等
vmware/harbor-log            v1.2.2            36ef78ae27df   4 years ago    200MB
vmware/harbor-jobservice     v1.2.2            e2af366cba44   4 years ago    164MB
vmware/harbor-ui             v1.2.2            39efb472c253   4 years ago    178MB
vmware/harbor-adminserver    v1.2.2            c75963ec543f   4 years ago    142MB
vmware/harbor-db             v1.2.2            ee7b9fa37c5d   4 years ago    329MB
vmware/nginx-photon          1.11.13           6cc5c831fc7f   4 years ago    144MB
vmware/registry              2.6.2-photon      5d9100e4350e   4 years ago    173MB
vmware/postgresql            9.6.4-photon      c562762cbd12   4 years ago    225MB
vmware/clair                 v2.0.1-photon     f04966b4af6c   4 years ago    297MB
vmware/harbor-notary-db      mariadb-10.1.10   64ed814665c6   4 years ago    324MB
vmware/notary-photon         signer-0.5.0      b1eda7d10640   4 years ago    156MB
vmware/notary-photon         server-0.5.0      6e2646682e3c   4 years ago    157MB
photon                       1.0               e6e4e4a2ba1b   5 years ago    128MB
progrium/stress              latest            db646a8f4087   7 years ago    282MB
[root@docker ~]#

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

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

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

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

admin/Harbor12345。

docker-harbor私有仓库及docker-compose技术(五)_第2张图片

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

docker-harbor私有仓库及docker-compose技术(五)_第3张图片

 docker-harbor私有仓库及docker-compose技术(五)_第4张图片

 docker-harbor私有仓库及docker-compose技术(五)_第5张图片

5、在本地测试仓库功能

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

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

docker-harbor私有仓库及docker-compose技术(五)_第6张图片

 docker-harbor私有仓库及docker-compose技术(五)_第7张图片

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

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

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

docker-harbor私有仓库及docker-compose技术(五)_第8张图片

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

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

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

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

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

#我们直接登录会报错,如下
[root@client ~]# docker login -u admin -p Harbor12345 http://192.168.110.133
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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"
Get "https://192.168.110.133/v2/": dial tcp 192.168.110.133:443: connect: connection refused
[root@client ~]#   #解决方法如下


[root@client ~]# vim /usr/lib/systemd/system/docker.service
#修改内容地方
......
将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock修改为
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.110.133 --containerd=/run/containerd/containerd.sock
......
 
#重启服务
[root@client ~]# systemctl daemon-reload
[root@client ~]# systemctl restart docker
 
#再次登录
[root@client ~]# docker login -u admin -p Harbor12345 http://192.168.110.133
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@client ~]#   #注意上面都是警告,看到结尾Login Succeeded表示成功登陆
[root@client ~]# docker pull tomcat
[root@client ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
tomcat       latest    49842ef82091   42 hours ago   680MB
[root@client ~]# docker tag tomcat 192.168.110.133/test/centos:tomcat_v1
[root@client ~]# docker images
REPOSITORY                          TAG         IMAGE ID       CREATED        SIZE
192.168.110.133/test/centos         tomcat_v1   49842ef82091   43 hours ago   680MB
tomcat                              latest      49842ef82091   43 hours ago   680MB
[root@client ~]# docker push 192.168.110.133/test/centos:tomcat_v1
The push refers to repository [192.168.110.133/test/centos]
009f006c5c51: Pushed 
2618b7cbd2f1: Pushed 
f79d29235239: Pushed 
5c81f9330d99: Pushed 
927f9fcef4cf: Pushed 
a81f1846a0d2: Pushed 
3b441d7cb46b: Pushed 
d3710de04cb3: Pushed 
91f7336bbfff: Pushed 
e2e8c39e0f77: Pushed 
tomcat_v1: digest: sha256:7035e09ef67377cc4275cae24a2912de34e6bfb590ea214dc27f6ffc2498cd70 size: 2422
[root@client ~]#

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

docker-harbor私有仓库及docker-compose技术(五)_第9张图片

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

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

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

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

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

1、维护管理harbor步骤

# 停止现有的 Harbor 实例
cd /usr/local/harbor/
docker-compose down -v

#编辑配置文件/usr/local/harbor/harbor.cfg
vim harbor.cfg   #停止后才可以修改配置文件
……
ostname = 192.168.110.133
# 运行prepare脚本来填充配置
./prepare

#重新启动Harbor
docker-compose up -d

#如果报错
解决思路
关闭防火墙、重启docker
systemctl stop firewalld
setenfore 0
systemctl restart docker

2、创建 Harbor 用户

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

docker-harbor私有仓库及docker-compose技术(五)_第10张图片

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

docker-harbor私有仓库及docker-compose技术(五)_第11张图片

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

docker-harbor私有仓库及docker-compose技术(五)_第12张图片

 docker-harbor私有仓库及docker-compose技术(五)_第13张图片

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

[root@client ~]# docker logout 192.168.110.133  #注销之前的登录用户
Removing login credentials for 192.168.110.133
[root@client ~]# docker login 192.168.110.133  #重新登陆,使用新用户
Username: zhangsan            #输入用户名
Password:                         #输入密码
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded         #成功登陆
[root@client ~]# docker images
REPOSITORY                    TAG         IMAGE ID       CREATED        SIZE
192.168.110.133/test/centos   tomcat_v1   49842ef82091   44 hours ago   680MB
tomcat                        latest      49842ef82091   44 hours ago   680MB
[root@client ~]# docker rmi 192.168.110.133/test/centos:tomcat_v1   #删除之前打标签的镜像
Untagged: 192.168.110.133/test/centos:tomcat_v1
Untagged: 192.168.110.133/test/centos@sha256:7035e09ef67377cc4275cae24a2912de34e6bfb590ea214dc27f6ffc2498cd70
[root@client ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
tomcat       latest    49842ef82091   44 hours ago   680MB
[root@client ~]# docker pull 192.168.110.133/test/centos:nginx_v1  #从私有仓库下载镜像
nginx_v1: Pulling from test/centos
e5ae68f74026: Pull complete 
21e0df283cd6: Pull complete 
ed835de16acd: Pull complete 
881ff011f1c9: Pull complete 
77700c52c969: Pull complete 
44be98c0fab6: Pull complete 
Digest: sha256:4424e31f2c366108433ecca7890ad527b243361577180dfd9a5bb36e828abf47
Status: Downloaded newer image for 192.168.110.133/test/centos:nginx_v1
192.168.110.133/test/centos:nginx_v1
[root@client ~]# docker images
REPOSITORY                    TAG        IMAGE ID       CREATED        SIZE
tomcat                        latest     49842ef82091   44 hours ago   680MB
192.168.110.133/test/centos   nginx_v1   f652ca386ed1   2 days ago     141MB
[root@client ~]#    #成功下载镜像,zhangsan用户可以管理test仓库镜像

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

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

cd /usr/local/harbor/
docker-compose down -v
如需重新部署,需要移除 Harbor 服务容器全部数据
持久数据,如镜像,数据库等在宿主机的/data/目录下,日志在宿主机的/var/log/Harbor/目录下。
rm -rf /data/database/
rm -rf /data/registry/
#实际操作如下
[root@docker ~]# cd /usr/local/harbor/
[root@docker harbor]# ls
common                     docker-compose.yml     harbor.v1.2.2.tar.gz  NOTICE
docker-compose.clair.yml   harbor_1_1_0_template  install.sh            prepare
docker-compose.notary.yml  harbor.cfg             LICENSE               upgrade
[root@docker harbor]# docker-compose down -v   #停止启动的harbor容器
Stopping nginx              ... done
Stopping harbor-jobservice  ... done
Stopping harbor-ui          ... done
Stopping harbor-db          ... done
Stopping registry           ... done
Stopping harbor-adminserver ... done
Stopping harbor-log         ... done
Removing nginx              ... done
Removing harbor-jobservice  ... done
Removing harbor-ui          ... done
Removing harbor-db          ... done
Removing registry           ... done
Removing harbor-adminserver ... done
Removing harbor-log         ... done
Removing network harbor_harbor
[root@docker harbor]# docker ps -a    #没了
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@docker harbor]# ls /data/registry/docker/registry/v2/repositories/test/
#可以看到harbor私有仓库版本还有我们创建的项目test,以及上传的镜像都在这里
centos
[root@docker harbor]# rm -rf /data/database/
[root@docker harbor]# rm -rf /data/registry/
#删除这两个目录后,就清除了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);备份

你可能感兴趣的:(docker,docker)