Docker Private Registry 常用组件

            Docker Private Registry 常用组件

                                      作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.Docker Registry概述

1>.什么是registry

  Registry用于保存docker镜像,包括镜像的层次结构和元数据。

  用户可自建Registry,也可使用官方的Docker Hub。

2>.docker registry 分类

  Sponsor Registry:
    第三方的registry,供客户和Docker社区使用。

  Mirror Registry:
    第三方的registry,只让客户使用。

  Vendor Registry:
    由发布Docker镜像的供应商提供的registry。

  Private Registry:
    通过设有防火墙和额外的安全层的私有实体提供的registry。

二.使用docker官方提供的安装包(docker-registry)快速构建registry仓库

博主推荐阅读:Docker 官方手册(完整的可用参数列表):
  https://docs.docker.com/engine/reference/commandline/dockerd/#run-multiple-daemons

1>.查看docker-registry软件包信息

[root@node102.yinzhengjie.org.cn ~]# yum info docker-registry      #查看官方提供的软件包相关信息
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Available Packages
Name        : docker-registry
Arch        : x86_64
Version     : 0.9.1
Release     : 7.el7
Size        : 123 k
Repo        : extras/7/x86_64
Summary     : Registry server for Docker
URL         : https://github.com/docker/docker-registry
License     : ASL 2.0
Description : Registry server for Docker (hosting/delivering of repositories and images).

[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# yum info docker-registry          #查看官方提供的软件包相关信息

2>.安装"docker-registry"软件

[root@node102.yinzhengjie.org.cn ~]# yum -y install docker-registry      #安装该软件实际上会安装一个叫"docker-distribution"的软件
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
base                                                                                                                      | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                          | 3.5 kB  00:00:00     
extras                                                                                                                    | 2.9 kB  00:00:00     
updates                                                                                                                   | 2.9 kB  00:00:00     
(1/2): updates/7/x86_64/primary_db                                                                                        | 2.8 MB  00:00:00     
(2/2): docker-ce-stable/x86_64/primary_db                                                                                 |  37 kB  00:00:06     
Package docker-registry is obsoleted by docker-distribution, trying to install docker-distribution-2.6.2-2.git48294d9.el7.x86_64 instead
Resolving Dependencies
--> Running transaction check
---> Package docker-distribution.x86_64 0:2.6.2-2.git48294d9.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================
 Package                                 Arch                       Version                                     Repository                  Size
=================================================================================================================================================
Installing:
 docker-distribution                     x86_64                     2.6.2-2.git48294d9.el7                      extras                     3.5 M

Transaction Summary
=================================================================================================================================================
Install  1 Package

Total download size: 3.5 M
Installed size: 12 M
Downloading packages:
docker-distribution-2.6.2-2.git48294d9.el7.x86_64.rpm                                                                     | 3.5 MB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : docker-distribution-2.6.2-2.git48294d9.el7.x86_64                                                                             1/1 
  Verifying  : docker-distribution-2.6.2-2.git48294d9.el7.x86_64                                                                             1/1 

Installed:
  docker-distribution.x86_64 0:2.6.2-2.git48294d9.el7                                                                                            

Complete!
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# yum -y install docker-registry      #安装该软件实际上会安装一个叫"docker-distribution"的软件

3>.查看"docker-distribution"软件包安装信息

[root@node102.yinzhengjie.org.cn ~]# rpm -ql docker-distribution
/etc/docker-distribution/registry/config.yml            #该文件为配置文件
/usr/bin/registry                          
/usr/lib/systemd/system/docker-distribution.service
/usr/share/doc/docker-distribution-2.6.2
/usr/share/doc/docker-distribution-2.6.2/AUTHORS
/usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md
/usr/share/doc/docker-distribution-2.6.2/LICENSE
/usr/share/doc/docker-distribution-2.6.2/MAINTAINERS
/usr/share/doc/docker-distribution-2.6.2/README.md
/var/lib/registry                           #默认的镜像存储路径,建议生产环境使用一个较大的目录,可通过上面的配置文件进行修改。   
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# rpm -ql docker-distribution

4>.启动"docker-distribution"服务

[root@node102.yinzhengjie.org.cn ~]# systemctl start docker-distribution
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# ss -ntl
State       Recv-Q Send-Q                           Local Address:Port                                          Peer Address:Port              
LISTEN      0      128                                          *:22                                                       *:*                  
LISTEN      0      128                                         :::5000                                                    :::*                  
LISTEN      0      128                                         :::22                                                      :::*                  
[root@node102.yinzhengjie.org.cn ~]# 
[root@node102.yinzhengjie.org.cn ~]# ll /var/lib/registry/      #由于我们还没有上传任何镜像,因此默认该目录是空的
total 0
[root@node102.yinzhengjie.org.cn ~]# 

5>.客户端上传镜像到自建的registry仓库

[root@node101.yinzhengjie.org.cn ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
test                v0.1-1              d2003d6841b7        4 hours ago         16.1MB
myweb               v0.3-11             c0a33ce27a6b        4 hours ago         16MB
myweb               v0.3-10             fb0ef0b3aea3        4 hours ago         16MB
myweb               v0.3-9              6f9999d46b69        4 hours ago         16MB
myweb               v0.3-8              0110cfd06ce1        4 hours ago         16MB
myweb               v0.3-7              cb08b09cd959        5 hours ago         16MB
myweb               v0.3-6              0082820cf7f0        9 hours ago         16MB
myweb               v0.3-5              fb4f5a5ac1ba        9 hours ago         16MB
myweb               v0.3-4              7697fbbe8233        9 hours ago         16MB
myweb               v0.3-3              b512ab335e80        9 hours ago         16MB
myweb               v0.3-2              6162cd671ca9        9 hours ago         16MB
myweb               v0.3-1              f14829ada08d        10 hours ago        16MB
tinyhttpd           v0.2-3              c06eb08ea6d6        37 hours ago        1.22MB
tinyhttpd           v0.2-2              c7447ee49e2b        37 hours ago        1.22MB
tinyhttpd           v0.2-1              807230671730        38 hours ago        1.22MB
tinyhttpd           v0.1-9              24c887b252ad        2 days ago          8.49MB
tinyhttpd           v0.1-8              42c71beb05d5        2 days ago          7.45MB
tinyhttpd           v0.1-7              9a5668f5f3a3        2 days ago          7.45MB
tinyhttpd           v0.1-6              2368b7546664        2 days ago          7.45MB
tinyhttpd           v0.1-5              f6f58ddb1520        2 days ago          7.45MB
tinyhttpd           v0.1-4              5086cc9cdc4a        2 days ago          7.45MB
tinyhttpd           v0.1-3              aa780396b2a3        2 days ago          2.27MB
tinyhttpd           v0.1-2              de390df4c4c3        2 days ago          1.23MB
tinyhttpd           v0.1-1              794f641ae85e        2 days ago          1.22MB
redis               latest              de25a81a5a0b        5 days ago          98.2MB
busybox             latest              19485c79a9bb        6 weeks ago         1.22MB
nginx               1.14-alpine         8a2fb25a19f5        6 months ago        16MB
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-11 node102.yinzhengjie.org.cn:5000/myweb:v0.3-11        #为客户端已有镜像打tag,便于上传到自建仓库
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
test                                    v0.1-1              d2003d6841b7        4 hours ago         16.1MB
myweb                                   v0.3-11             c0a33ce27a6b        4 hours ago         16MB
node102.yinzhengjie.org.cn:5000/myweb   v0.3-11             c0a33ce27a6b        4 hours ago         16MB
myweb                                   v0.3-10             fb0ef0b3aea3        4 hours ago         16MB
myweb                                   v0.3-9              6f9999d46b69        4 hours ago         16MB
myweb                                   v0.3-8              0110cfd06ce1        4 hours ago         16MB
myweb                                   v0.3-7              cb08b09cd959        5 hours ago         16MB
myweb                                   v0.3-6              0082820cf7f0        9 hours ago         16MB
myweb                                   v0.3-5              fb4f5a5ac1ba        9 hours ago         16MB
myweb                                   v0.3-4              7697fbbe8233        9 hours ago         16MB
myweb                                   v0.3-3              b512ab335e80        9 hours ago         16MB
myweb                                   v0.3-2              6162cd671ca9        10 hours ago        16MB
myweb                                   v0.3-1              f14829ada08d        10 hours ago        16MB
tinyhttpd                               v0.2-3              c06eb08ea6d6        37 hours ago        1.22MB
tinyhttpd                               v0.2-2              c7447ee49e2b        37 hours ago        1.22MB
tinyhttpd                               v0.2-1              807230671730        38 hours ago        1.22MB
tinyhttpd                               v0.1-9              24c887b252ad        2 days ago          8.49MB
tinyhttpd                               v0.1-8              42c71beb05d5        2 days ago          7.45MB
tinyhttpd                               v0.1-7              9a5668f5f3a3        2 days ago          7.45MB
tinyhttpd                               v0.1-6              2368b7546664        2 days ago          7.45MB
tinyhttpd                               v0.1-5              f6f58ddb1520        2 days ago          7.45MB
tinyhttpd                               v0.1-4              5086cc9cdc4a        2 days ago          7.45MB
tinyhttpd                               v0.1-3              aa780396b2a3        2 days ago          2.27MB
tinyhttpd                               v0.1-2              de390df4c4c3        2 days ago          1.23MB
tinyhttpd                               v0.1-1              794f641ae85e        2 days ago          1.22MB
redis                                   latest              de25a81a5a0b        5 days ago          98.2MB
busybox                                 latest              19485c79a9bb        6 weeks ago         1.22MB
nginx                                   1.14-alpine         8a2fb25a19f5        6 months ago        16MB
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-11 node102.yinzhengjie.org.cn:5000/myweb:v0.3-11        #为客户端已有镜像打tag,便于上传到自建仓库
[root@node101.yinzhengjie.org.cn ~]# docker push node102.yinzhengjie.org.cn:5000/myweb:v0.3-11          #将已经打tag的镜像上传到自建仓库中失败,原因是默认使用HTTPS协议,而我们使用的是HTTP协议。
The push refers to repository [node102.yinzhengjie.org.cn:5000/myweb]
Get https://node102.yinzhengjie.org.cn:5000/v2/: http: server gave HTTP response to HTTPS client
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# vi /etc/docker/daemon.json 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json           #我们在客户端配置"insecure-registries"参数。让该节点允许基于HTTP协议进行上传。
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "bip":"192.168.100.254/24",
  "dns":["219.141.139.10","219.141.140.10"],
  "hosts":["tcp://0.0.0.0:8888","unix:///var/run/docker.sock"],
  "insecure-registries":["node102.yinzhengjie.org.cn:5000"]
}
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# systemctl restart docker
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker push node102.yinzhengjie.org.cn:5000/myweb:v0.3-11      #将自定义镜像上传到自建的私有Registry中。
The push refers to repository [node102.yinzhengjie.org.cn:5000/myweb]
a7487ac35bc0: Pushed 
edfefde38548: Pushed 
076c58d2644f: Pushed 
b2cbae4b8c15: Pushed 
5ac9a5170bf2: Pushed 
a464c54f93a9: Pushed 
v0.3-11: digest: sha256:aafa903875c7f59f3f3f615097d292994ac5581a404bfe2f3cb77bf9389a9855 size: 1568
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker push node102.yinzhengjie.org.cn:5000/myweb:v0.3-11      #将自定义镜像上传到自建的私有Registry中。

6>.查看服务端的镜像存储目录,发现的确由新目录生成

[root@node102.yinzhengjie.org.cn ~]# ll /var/lib/registry
total 0
drwxr-xr-x 3 root root 22 Oct 22 20:51 docker
[root@node102.yinzhengjie.org.cn ~]# 

7>.使用客户端从自建的镜像仓库拉取镜像

[root@node103.yinzhengjie.org.cn ~]# docker images        #当前节点本地还未有镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker pull node102.yinzhengjie.org.cn:5000/myweb:v0.3-11      #下载私有仓库镜像失败,原因相比大家也知道了,继续参考上面的解决办法。
Error response from daemon: Get https://node102.yinzhengjie.org.cn:5000/v2/: http: server gave HTTP response to HTTPS client
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# vi /etc/docker/daemon.json 
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json     #我们可以理解"insecure-registries"将node102.yinzhengjie.org.cn:5000这个节点关闭安全检查
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "insecure-registries":["node102.yinzhengjie.org.cn:5000"]
}
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# systemctl restart docker
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker pull node102.yinzhengjie.org.cn:5000/myweb:v0.3-11      #下载自建私有仓库的镜像到本地
v0.3-11: Pulling from myweb
bdf0201b3a05: Pull complete 
3d0a573c81ed: Pull complete 
8129faeb2eb6: Pull complete 
3dc99f571daf: Pull complete 
41addc55f022: Pull complete 
ea60c368e85c: Pull complete 
Digest: sha256:aafa903875c7f59f3f3f615097d292994ac5581a404bfe2f3cb77bf9389a9855
Status: Downloaded newer image for node102.yinzhengjie.org.cn:5000/myweb:v0.3-11
node102.yinzhengjie.org.cn:5000/myweb:v0.3-11
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
node102.yinzhengjie.org.cn:5000/myweb   v0.3-11             c0a33ce27a6b        4 hours ago         16MB
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
node102.yinzhengjie.org.cn:5000/myweb   v0.3-11             c0a33ce27a6b        4 hours ago         16MB
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker pull node102.yinzhengjie.org.cn:5000/myweb:v0.3-11      #下载自建私有仓库的镜像到本地

三.Harbor私有仓库

1>.什么是Harbor

  Project Harbor是一个开源的云原生registry项目,它支持存储、签名和扫描(判定镜像是否有安全风险)内容;

  Harbor通过添加用户通常需要的功能(如安全、身份和管理)扩展了开源Docker发行版;

  Harbor支持高级功能,如用户管理、访问控制、活动监视和实例之间的复制。

  官方地址:https://goharbor.io

2>.Harbor特性

  Multi-tenant content signing and validation(支持多租户内容签名和验证);

  Security and vulnerability analysis(支持安全及风险分析);

  Audit logging(支持审计日志);

  Identity integration and role-based access contron(支持身份整合与基于角色的访问控制);

  Image replication between instances(支持实例之间的映像复制);

  Extensible API and graphical UI(支持可扩展API和图形UI);

  Internationalization(currently English and Chinese,支持国际化,目前仅支持英文和中文)。

3>.Harbor安装指南

  在物理机上Harbor的安装和部署是相当困难的,因此为了简化Harbor的应用,Harbor官方直接将Harbor做成了直接在容器中运行的应用;

  由于Harbor容器依赖于redis,MySQL/PgSQL等很多存储系统,所以需要编排多个容器来协同工作,因此Vmware Harbor在部署和使用时需要借助于docker的单机编排工具,即Docker Compose(compose是一个定义和运行多容器docker的工具,官方地址:https://docs.docker.com/compose/)。
  
  Harbor的GitHub地址:https://github.com/goharbor/harbor

  Harhor的安装指南:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
[root@node103.yinzhengjie.org.cn ~]# yum info docker-compose          #compose时一个定义和运行多容器docker的工具。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                      | 8.0 kB  00:00:00     
 * base: mirrors.nju.edu.cn
 * epel: hkg.mirror.rackspace.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.nju.edu.cn
epel                                                                                                                      | 5.3 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                                                                               |  90 kB  00:00:06     
(2/3): epel/x86_64/updateinfo                                                                                             | 1.0 MB  00:00:06     
(3/3): epel/x86_64/primary_db                                                                                             | 6.9 MB  00:00:08     
Available Packages
Name        : docker-compose
Arch        : noarch
Version     : 1.18.0
Release     : 4.el7
Size        : 222 k
Repo        : epel/x86_64
Summary     : Multi-container orchestration for Docker
URL         : https://github.com/docker/compose
License     : ASL 2.0
Description : Compose is a tool for defining and running multi-container Docker
            : applications. With Compose, you use a Compose file to configure your
            : application's services. Then, using a single command, you create and
            : start all the services from your configuration.
            : 
            : Compose is great for development, testing, and staging environments,
            : as well as CI workflows.
            : 
            : Using Compose is basically a three-step process.
            : 
            : 1. Define your app's environment with a Dockerfile so it can be
            :    reproduced anywhere.
            : 2. Define the services that make up your app in docker-compose.yml so
            :    they can be run together in an isolated environment:
            : 3. Lastly, run docker-compose up and Compose will start and run your
            :    entire app.

[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# yum info docker-compose          #compose时一个定义和运行多容器docker的工具。

4>.下载Harbor软件包(https://github.com/goharbor/harbor/releases

[root@node103.yinzhengjie.org.cn ~]# wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz
--2019-10-22 23:30:23--  https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz
Resolving storage.googleapis.com (storage.googleapis.com)... 172.217.160.80, 2404:6800:4012::2010
Connecting to storage.googleapis.com (storage.googleapis.com)|172.217.160.80|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 619113214 (590M) [application/x-tar]
Saving to: ‘harbor-offline-installer-v1.9.1.tgz’

100%[=======================================================================================================>] 619,113,214 9.49MB/s   in 70s    

2019-10-22 23:31:39 (8.44 MB/s) - ‘harbor-offline-installer-v1.9.1.tgz’ saved [619113214/619113214]

[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# wget https://storage.googleapis.com/harbor-releases/release-1.9.0/harbor-offline-installer-v1.9.1.tgz

5>.安装Harbor软件

[root@node103.yinzhengjie.org.cn ~]# ll
total 604604
-rw-r--r-- 1 root root 619113214 Oct 15 15:47 harbor-offline-installer-v1.9.1.tgz
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# tar -xf harbor-offline-installer-v1.9.1.tgz -C /usr/local/
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# cd /usr/local/harbor/
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ll
total 607872
-rw-r--r-- 1 root root 622428100 Sep 27 14:52 harbor.v1.9.1.tar.gz
-rw-r--r-- 1 root root      5805 Sep 27 14:52 harbor.yml        #配置文件
-rwxr-xr-x 1 root root      5088 Sep 27 14:52 install.sh        #安装脚本 
-rw-r--r-- 1 root root     11347 Sep 27 14:52 LICENSE
-rwxr-xr-x 1 root root      1748 Sep 27 14:52 prepare
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]#
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# grep hostname harbor.yml  | grep -v ^#      #此处我们可以修改一下主机名,打开该配置文件里面有相应的英文注释
hostname: node103.yinzhengjie.org.cn
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn ~]# yum -y install docker-compose            #由于docker-compose是由python 3开发的,因此在安装该软件时我们会发现它会自动安装一些python模块。
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.nju.edu.cn
 * epel: hkg.mirror.rackspace.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.nju.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package docker-compose.noarch 0:1.18.0-4.el7 will be installed
--> Processing Dependency: python(abi) = 3.6 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-cached_property >= 1.2.0 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-docker >= 2.6.1 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-dockerpty >= 0.4.1 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-docopt >= 0.6.1 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-jsonschema >= 2.5.1 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-pysocks >= 1.5.6 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-requests >= 2.6.1 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-six >= 1.3.0 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-texttable >= 0.9.0 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-websocket-client >= 0.32.0 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-yaml >= 3.10 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: /usr/bin/python3.6 for package: docker-compose-1.18.0-4.el7.noarch
--> Processing Dependency: python36-setuptools for package: docker-compose-1.18.0-4.el7.noarch
--> Running transaction check
---> Package python3.x86_64 0:3.6.8-10.el7 will be installed
--> Processing Dependency: python3-libs(x86-64) = 3.6.8-10.el7 for package: python3-3.6.8-10.el7.x86_64
--> Processing Dependency: python3-pip for package: python3-3.6.8-10.el7.x86_64
--> Processing Dependency: libpython3.6m.so.1.0()(64bit) for package: python3-3.6.8-10.el7.x86_64
---> Package python3-setuptools.noarch 0:39.2.0-10.el7 will be installed
---> Package python36-PyYAML.x86_64 0:3.12-1.el7 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: python36-PyYAML-3.12-1.el7.x86_64
---> Package python36-cached_property.noarch 0:1.5.1-2.el7 will be installed
---> Package python36-docker.noarch 0:2.6.1-3.el7 will be installed
--> Processing Dependency: python36-docker-pycreds >= 0.2.1 for package: python36-docker-2.6.1-3.el7.noarch
---> Package python36-dockerpty.noarch 0:0.4.1-10.el7 will be installed
---> Package python36-docopt.noarch 0:0.6.2-8.el7 will be installed
---> Package python36-jsonschema.noarch 0:2.5.1-4.el7 will be installed
---> Package python36-pysocks.noarch 0:1.6.8-6.el7 will be installed
---> Package python36-requests.noarch 0:2.12.5-3.el7 will be installed
--> Processing Dependency: python36-urllib3 = 1.19.1 for package: python36-requests-2.12.5-3.el7.noarch
--> Processing Dependency: python36-chardet for package: python36-requests-2.12.5-3.el7.noarch
--> Processing Dependency: python36-idna for package: python36-requests-2.12.5-3.el7.noarch
---> Package python36-six.noarch 0:1.11.0-3.el7 will be installed
---> Package python36-texttable.noarch 0:1.6.2-1.el7 will be installed
---> Package python36-websocket-client.noarch 0:0.47.0-2.el7 will be installed
--> Running transaction check
---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed
---> Package python3-libs.x86_64 0:3.6.8-10.el7 will be installed
--> Processing Dependency: libtirpc.so.1()(64bit) for package: python3-libs-3.6.8-10.el7.x86_64
---> Package python3-pip.noarch 0:9.0.3-5.el7 will be installed
---> Package python36-chardet.noarch 0:3.0.4-1.el7 will be installed
---> Package python36-docker-pycreds.noarch 0:0.2.1-2.el7 will be installed
---> Package python36-idna.noarch 0:2.7-2.el7 will be installed
---> Package python36-urllib3.noarch 0:1.19.1-5.el7 will be installed
--> Running transaction check
---> Package libtirpc.x86_64 0:0.2.4-0.16.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================================================================
 Package                                        Arch                        Version                              Repository                 Size
=================================================================================================================================================
Installing:
 docker-compose                                 noarch                      1.18.0-4.el7                         epel                      222 k
Installing for dependencies:
 libtirpc                                       x86_64                      0.2.4-0.16.el7                       base                       89 k
 libyaml                                        x86_64                      0.1.4-11.el7_0                       base                       55 k
 python3                                        x86_64                      3.6.8-10.el7                         base                       69 k
 python3-libs                                   x86_64                      3.6.8-10.el7                         base                      7.0 M
 python3-pip                                    noarch                      9.0.3-5.el7                          base                      1.8 M
 python3-setuptools                             noarch                      39.2.0-10.el7                        base                      629 k
 python36-PyYAML                                x86_64                      3.12-1.el7                           epel                      149 k
 python36-cached_property                       noarch                      1.5.1-2.el7                          epel                       18 k
 python36-chardet                               noarch                      3.0.4-1.el7                          epel                      190 k
 python36-docker                                noarch                      2.6.1-3.el7                          epel                      180 k
 python36-docker-pycreds                        noarch                      0.2.1-2.el7                          epel                       15 k
 python36-dockerpty                             noarch                      0.4.1-10.el7                         epel                       29 k
 python36-docopt                                noarch                      0.6.2-8.el7                          epel                       29 k
 python36-idna                                  noarch                      2.7-2.el7                            epel                       98 k
 python36-jsonschema                            noarch                      2.5.1-4.el7                          epel                       76 k
 python36-pysocks                               noarch                      1.6.8-6.el7                          epel                       30 k
 python36-requests                              noarch                      2.12.5-3.el7                         epel                      109 k
 python36-six                                   noarch                      1.11.0-3.el7                         epel                       33 k
 python36-texttable                             noarch                      1.6.2-1.el7                          epel                       23 k
 python36-urllib3                               noarch                      1.19.1-5.el7                         epel                      134 k
 python36-websocket-client                      noarch                      0.47.0-2.el7                         epel                       59 k

Transaction Summary
=================================================================================================================================================
Install  1 Package (+21 Dependent packages)

Total download size: 11 M
Installed size: 55 M
Downloading packages:
(1/22): libtirpc-0.2.4-0.16.el7.x86_64.rpm                                                                                |  89 kB  00:00:00     
(2/22): python3-libs-3.6.8-10.el7.x86_64.rpm                                                                              | 7.0 MB  00:00:01     
(3/22): python3-setuptools-39.2.0-10.el7.noarch.rpm                                                                       | 629 kB  00:00:00     
(4/22): python3-pip-9.0.3-5.el7.noarch.rpm                                                                                | 1.8 MB  00:00:01     
(5/22): python36-PyYAML-3.12-1.el7.x86_64.rpm                                                                             | 149 kB  00:00:02     
(6/22): libyaml-0.1.4-11.el7_0.x86_64.rpm                                                                                 |  55 kB  00:00:05     
(7/22): docker-compose-1.18.0-4.el7.noarch.rpm                                                                            | 222 kB  00:00:07     
(8/22): python36-chardet-3.0.4-1.el7.noarch.rpm                                                                           | 190 kB  00:00:00     
(9/22): python36-docker-2.6.1-3.el7.noarch.rpm                                                                            | 180 kB  00:00:00     
(10/22): python3-3.6.8-10.el7.x86_64.rpm                                                                                  |  69 kB  00:00:12     
(11/22): python36-cached_property-1.5.1-2.el7.noarch.rpm                                                                  |  18 kB  00:00:05     
(12/22): python36-docker-pycreds-0.2.1-2.el7.noarch.rpm                                                                   |  15 kB  00:00:00     
(13/22): python36-dockerpty-0.4.1-10.el7.noarch.rpm                                                                       |  29 kB  00:00:00     
(14/22): python36-docopt-0.6.2-8.el7.noarch.rpm                                                                           |  29 kB  00:00:00     
python36-idna-2.7-2.el7.noarch FAILED                                          
http://my.mirrors.thegigabit.com/epel/7/x86_64/Packages/p/python36-idna-2.7-2.el7.noarch.rpm: [Errno 12] Timeout on http://103.238.48.2/my.mirror
s.thegigabit.com/epel/7/x86_64/Packages/p/python36-idna-2.7-2.el7.noarch.rpm: (28, 'Connection timed out after 30997 milliseconds')Trying other mirror.
(15/22): python36-pysocks-1.6.8-6.el7.noarch.rpm                                                                          |  30 kB  00:00:01     
(16/22): python36-requests-2.12.5-3.el7.noarch.rpm                                                                        | 109 kB  00:00:00     
(17/22): python36-six-1.11.0-3.el7.noarch.rpm                                                                             |  33 kB  00:00:21     
(18/22): python36-texttable-1.6.2-1.el7.noarch.rpm                                                                        |  23 kB  00:00:05     
python36-jsonschema-2.5.1-4.el FAILED                                          
http://my.mirrors.thegigabit.com/epel/7/x86_64/Packages/p/python36-jsonschema-2.5.1-4.el7.noarch.rpm: [Errno 12] Timeout on http://103.238.48.2/m
y.mirrors.thegigabit.com/epel/7/x86_64/Packages/p/python36-jsonschema-2.5.1-4.el7.noarch.rpm: (28, 'Connection timed out after 30184 milliseconds')Trying other mirror.
(19/22): python36-urllib3-1.19.1-5.el7.noarch.rpm                                                                         | 134 kB  00:00:03     
(20/22): python36-websocket-client-0.47.0-2.el7.noarch.rpm                                                                |  59 kB  00:00:00     
(21/22): python36-idna-2.7-2.el7.noarch.rpm                                                                               |  98 kB  00:00:08     
(22/22): python36-jsonschema-2.5.1-4.el7.noarch.rpm                                                                       |  76 kB  00:00:11     
-------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                            114 kB/s |  11 MB  00:01:37     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libyaml-0.1.4-11.el7_0.x86_64                                                                                                1/22 
  Installing : libtirpc-0.2.4-0.16.el7.x86_64                                                                                               2/22 
  Installing : python3-pip-9.0.3-5.el7.noarch                                                                                               3/22 
  Installing : python3-setuptools-39.2.0-10.el7.noarch                                                                                      4/22 
  Installing : python3-3.6.8-10.el7.x86_64                                                                                                  5/22 
  Installing : python3-libs-3.6.8-10.el7.x86_64                                                                                             6/22 
  Installing : python36-six-1.11.0-3.el7.noarch                                                                                             7/22 
  Installing : python36-websocket-client-0.47.0-2.el7.noarch                                                                                8/22 
  Installing : python36-pysocks-1.6.8-6.el7.noarch                                                                                          9/22 
  Installing : python36-urllib3-1.19.1-5.el7.noarch                                                                                        10/22 
  Installing : python36-dockerpty-0.4.1-10.el7.noarch                                                                                      11/22 
  Installing : python36-docker-pycreds-0.2.1-2.el7.noarch                                                                                  12/22 
  Installing : python36-PyYAML-3.12-1.el7.x86_64                                                                                           13/22 
  Installing : python36-texttable-1.6.2-1.el7.noarch                                                                                       14/22 
  Installing : python36-jsonschema-2.5.1-4.el7.noarch                                                                                      15/22 
  Installing : python36-idna-2.7-2.el7.noarch                                                                                              16/22 
  Installing : python36-docopt-0.6.2-8.el7.noarch                                                                                          17/22 
  Installing : python36-cached_property-1.5.1-2.el7.noarch                                                                                 18/22 
  Installing : python36-chardet-3.0.4-1.el7.noarch                                                                                         19/22 
  Installing : python36-requests-2.12.5-3.el7.noarch                                                                                       20/22 
  Installing : python36-docker-2.6.1-3.el7.noarch                                                                                          21/22 
  Installing : docker-compose-1.18.0-4.el7.noarch                                                                                          22/22 
  Verifying  : libtirpc-0.2.4-0.16.el7.x86_64                                                                                               1/22 
  Verifying  : python36-pysocks-1.6.8-6.el7.noarch                                                                                          2/22 
  Verifying  : python3-libs-3.6.8-10.el7.x86_64                                                                                             3/22 
  Verifying  : docker-compose-1.18.0-4.el7.noarch                                                                                           4/22 
  Verifying  : python36-urllib3-1.19.1-5.el7.noarch                                                                                         5/22 
  Verifying  : python3-pip-9.0.3-5.el7.noarch                                                                                               6/22 
  Verifying  : python36-texttable-1.6.2-1.el7.noarch                                                                                        7/22 
  Verifying  : python36-jsonschema-2.5.1-4.el7.noarch                                                                                       8/22 
  Verifying  : python36-idna-2.7-2.el7.noarch                                                                                               9/22 
  Verifying  : python36-websocket-client-0.47.0-2.el7.noarch                                                                               10/22 
  Verifying  : python36-PyYAML-3.12-1.el7.x86_64                                                                                           11/22 
  Verifying  : python36-dockerpty-0.4.1-10.el7.noarch                                                                                      12/22 
  Verifying  : python36-docker-2.6.1-3.el7.noarch                                                                                          13/22 
  Verifying  : python36-six-1.11.0-3.el7.noarch                                                                                            14/22 
  Verifying  : python3-setuptools-39.2.0-10.el7.noarch                                                                                     15/22 
  Verifying  : python36-docopt-0.6.2-8.el7.noarch                                                                                          16/22 
  Verifying  : python36-cached_property-1.5.1-2.el7.noarch                                                                                 17/22 
  Verifying  : python3-3.6.8-10.el7.x86_64                                                                                                 18/22 
  Verifying  : libyaml-0.1.4-11.el7_0.x86_64                                                                                               19/22 
  Verifying  : python36-chardet-3.0.4-1.el7.noarch                                                                                         20/22 
  Verifying  : python36-docker-pycreds-0.2.1-2.el7.noarch                                                                                  21/22 
  Verifying  : python36-requests-2.12.5-3.el7.noarch                                                                                       22/22 

Installed:
  docker-compose.noarch 0:1.18.0-4.el7                                                                                                           

Dependency Installed:
  libtirpc.x86_64 0:0.2.4-0.16.el7           libyaml.x86_64 0:0.1.4-11.el7_0                  python3.x86_64 0:3.6.8-10.el7                     
  python3-libs.x86_64 0:3.6.8-10.el7         python3-pip.noarch 0:9.0.3-5.el7                 python3-setuptools.noarch 0:39.2.0-10.el7         
  python36-PyYAML.x86_64 0:3.12-1.el7        python36-cached_property.noarch 0:1.5.1-2.el7    python36-chardet.noarch 0:3.0.4-1.el7             
  python36-docker.noarch 0:2.6.1-3.el7       python36-docker-pycreds.noarch 0:0.2.1-2.el7     python36-dockerpty.noarch 0:0.4.1-10.el7          
  python36-docopt.noarch 0:0.6.2-8.el7       python36-idna.noarch 0:2.7-2.el7                 python36-jsonschema.noarch 0:2.5.1-4.el7          
  python36-pysocks.noarch 0:1.6.8-6.el7      python36-requests.noarch 0:2.12.5-3.el7          python36-six.noarch 0:1.11.0-3.el7                
  python36-texttable.noarch 0:1.6.2-1.el7    python36-urllib3.noarch 0:1.19.1-5.el7           python36-websocket-client.noarch 0:0.47.0-2.el7   

Complete!
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# yum -y install docker-compose       #由于docker-compose是由python 3开发的,因此在安装该软件时我们会发现它会自动安装一些python模块。
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ll
total 607872
-rw-r--r-- 1 root root 622428100 Sep 27 14:52 harbor.v1.9.1.tar.gz
-rw-r--r-- 1 root root      5815 Oct 22 23:40 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep 27 14:52 install.sh
-rw-r--r-- 1 root root     11347 Sep 27 14:52 LICENSE
-rwxr-xr-x 1 root root      1748 Sep 27 14:52 prepare
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ./install.sh         #安装Harbor软件,安装完成后它会自动启动相关web服务

[Step 0]: checking installation environment ...

Note: docker version: 19.03.3

Note: docker-compose version: 1.18.0

[Step 1]: loading Harbor images ...
b80136ee24a4: Loading layer [==================================================>]  34.25MB/34.25MB
cad87ea2da29: Loading layer [==================================================>]  77.02MB/77.02MB
034ded39ed39: Loading layer [==================================================>]  3.072kB/3.072kB
f6ca716ef169: Loading layer [==================================================>]   59.9kB/59.9kB
baf21a4a14d3: Loading layer [==================================================>]  61.95kB/61.95kB
Loaded image: goharbor/redis-photon:v1.9.1
38d0cc9d1ffd: Loading layer [==================================================>]   8.98MB/8.98MB
f68a1f0c31fc: Loading layer [==================================================>]  3.072kB/3.072kB
72515108750d: Loading layer [==================================================>]   2.56kB/2.56kB
a2cda355c3ef: Loading layer [==================================================>]   20.1MB/20.1MB
ab2865eb128e: Loading layer [==================================================>]   20.1MB/20.1MB
Loaded image: goharbor/registry-photon:v2.7.1-patch-2819-2553-v1.9.1
527ef66806e1: Loading layer [==================================================>]   8.98MB/8.98MB
0f11d90dd35b: Loading layer [==================================================>]  3.072kB/3.072kB
3425f8898e4f: Loading layer [==================================================>]   20.1MB/20.1MB
cfa38640b856: Loading layer [==================================================>]  3.072kB/3.072kB
e7794afc289f: Loading layer [==================================================>]  8.661MB/8.661MB
76012da7ad6a: Loading layer [==================================================>]  28.76MB/28.76MB
Loaded image: goharbor/harbor-registryctl:v1.9.1
e83beb288a0d: Loading layer [==================================================>]    113MB/113MB
93e08bdb2f3c: Loading layer [==================================================>]  11.17MB/11.17MB
7a823857fc40: Loading layer [==================================================>]  2.048kB/2.048kB
fc24f20df72d: Loading layer [==================================================>]  48.13kB/48.13kB
bd925688a6c6: Loading layer [==================================================>]  3.072kB/3.072kB
d0812a8a6aa1: Loading layer [==================================================>]  11.22MB/11.22MB
Loaded image: goharbor/clair-photon:v2.0.9-v1.9.1
4c42b997c1d3: Loading layer [==================================================>]  337.7MB/337.7MB
b921c11a7cce: Loading layer [==================================================>]  119.8kB/119.8kB
Loaded image: goharbor/harbor-migrator:v1.9.1
50d9ef917fd0: Loading layer [==================================================>]  8.985MB/8.985MB
49be4811c210: Loading layer [==================================================>]  44.39MB/44.39MB
e3e7d0ecbd56: Loading layer [==================================================>]  2.048kB/2.048kB
bd6ae8ad3688: Loading layer [==================================================>]  3.072kB/3.072kB
f8daafb6452b: Loading layer [==================================================>]   44.4MB/44.4MB
Loaded image: goharbor/chartmuseum-photon:v0.9.0-v1.9.1
f8be5d65a497: Loading layer [==================================================>]   2.56kB/2.56kB
ec2558a18995: Loading layer [==================================================>]  1.536kB/1.536kB
9253b305f3e0: Loading layer [==================================================>]  72.14MB/72.14MB
f5bc3b95773b: Loading layer [==================================================>]  42.56MB/42.56MB
1cb18728da6a: Loading layer [==================================================>]  156.7kB/156.7kB
10d8c3845ea7: Loading layer [==================================================>]  3.006MB/3.006MB
Loaded image: goharbor/prepare:v1.9.1
63f870b51f41: Loading layer [==================================================>]  63.49MB/63.49MB
7306099794e1: Loading layer [==================================================>]  53.21MB/53.21MB
8a9f36b3fb5f: Loading layer [==================================================>]  5.632kB/5.632kB
75daaad9bfa8: Loading layer [==================================================>]  2.048kB/2.048kB
d8f94d1114c6: Loading layer [==================================================>]   2.56kB/2.56kB
7ecefe35a143: Loading layer [==================================================>]   2.56kB/2.56kB
a8fab8d5af16: Loading layer [==================================================>]   2.56kB/2.56kB
94cf351a3c19: Loading layer [==================================================>]  10.24kB/10.24kB
Loaded image: goharbor/harbor-db:v1.9.1
9837bf8ee24e: Loading layer [==================================================>]  8.979MB/8.979MB
ba364bbbdbdd: Loading layer [==================================================>]  6.239MB/6.239MB
3fd94bb9f201: Loading layer [==================================================>]  15.13MB/15.13MB
a71f5b58dc99: Loading layer [==================================================>]  26.47MB/26.47MB
80997da865e8: Loading layer [==================================================>]  22.02kB/22.02kB
376d829dd4a8: Loading layer [==================================================>]  47.84MB/47.84MB
Loaded image: goharbor/notary-server-photon:v0.6.1-v1.9.1
7310144c80b8: Loading layer [==================================================>]  12.75MB/12.75MB
57822721a26e: Loading layer [==================================================>]  48.13MB/48.13MB
Loaded image: goharbor/harbor-jobservice:v1.9.1
b9172b8bd1c0: Loading layer [==================================================>]  10.82MB/10.82MB
Loaded image: goharbor/nginx-photon:v1.9.1
3999c34ab3d1: Loading layer [==================================================>]  13.72MB/13.72MB
55d2a47566d6: Loading layer [==================================================>]  26.47MB/26.47MB
605a3b90e10b: Loading layer [==================================================>]  22.02kB/22.02kB
753afe3849f7: Loading layer [==================================================>]  46.43MB/46.43MB
Loaded image: goharbor/notary-signer-photon:v0.6.1-v1.9.1
f6d400c78205: Loading layer [==================================================>]  7.012MB/7.012MB
da6e265c346e: Loading layer [==================================================>]  196.6kB/196.6kB
11f6a9c90cd1: Loading layer [==================================================>]    172kB/172kB
99996a16f7b1: Loading layer [==================================================>]  15.36kB/15.36kB
d94e53aaf9b8: Loading layer [==================================================>]  3.584kB/3.584kB
b84ee50e8238: Loading layer [==================================================>]  10.82MB/10.82MB
Loaded image: goharbor/harbor-portal:v1.9.1
e755a945ae2a: Loading layer [==================================================>]  12.75MB/12.75MB
dc5d22c53956: Loading layer [==================================================>]  55.39MB/55.39MB
15f93df7269e: Loading layer [==================================================>]  5.632kB/5.632kB
ee595495168a: Loading layer [==================================================>]  36.35kB/36.35kB
8fb7538d9d82: Loading layer [==================================================>]  55.39MB/55.39MB
Loaded image: goharbor/harbor-core:v1.9.1
3e458fabaeef: Loading layer [==================================================>]  50.61MB/50.61MB
2a88a9994014: Loading layer [==================================================>]  3.584kB/3.584kB
19d8eee966bd: Loading layer [==================================================>]  3.072kB/3.072kB
bd017a9bef7c: Loading layer [==================================================>]   2.56kB/2.56kB
186ca97fbd0d: Loading layer [==================================================>]  3.072kB/3.072kB
8b15fc511dbf: Loading layer [==================================================>]  3.584kB/3.584kB
cc84783073de: Loading layer [==================================================>]  12.29kB/12.29kB
Loaded image: goharbor/harbor-log:v1.9.1


[Step 2]: preparing environment ...
prepare base dir is set to /usr/local/harbor
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /secret/keys/secretkey
Creating harbor-log ... done
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir


Creating registry ... done
Creating harbor-core ... done
Creating network "harbor_harbor" with the default driver
Creating nginx ... done
Creating harbor-db ... 
Creating registry ... 
Creating redis ... 
Creating harbor-portal ... 
Creating registryctl ... 
Creating harbor-core ... 
Creating nginx ... 
Creating harbor-jobservice ... 

✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://node103.yinzhengjie.org.cn. 
For more details, please visit https://github.com/goharbor/harbor .

[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# echo $?
0
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ll
total 607880
drwxr-xr-x 3 root root        20 Oct 22 23:48 common
-rw-r--r-- 1 root root      5290 Oct 22 23:48 docker-compose.yml
-rw-r--r-- 1 root root 622428100 Sep 27 14:52 harbor.v1.9.1.tar.gz
-rw-r--r-- 1 root root      5815 Oct 22 23:40 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep 27 14:52 install.sh
-rw-r--r-- 1 root root     11347 Sep 27 14:52 LICENSE
-rwxr-xr-x 1 root root      1748 Sep 27 14:52 prepare
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ./install.sh         #安装Harbor软件,安装完成后它会自动启动相关web服务

6>.访问Harbor的Web UI

[root@node103.yinzhengjie.org.cn /usr/local/harbor]# netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:1514          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::80                   :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
[root@node103.yinzhengjie.org.cn /usr/local/harbor]#
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# grep harbor_admin_password harbor.yml       #这是Harbor服务的默认密码,如果有需要可以在安装服务前自行修改哟~
harbor_admin_password: Harbor12345
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 

7>.Harbor的Web UI登录成功

四.基于自建Harbor上传镜像案例演示(日志存放路径: "/var/log/harbor")

1>.使用普通用户登录

2>.登录成功

3>.点击"新建项目",自定义项目名称

4>.进入新创建的项目

5>.查看推送镜像的方式

6>.将"node101.yinzhengjie.org.cn"节点的自建镜像推送到"node103.yinzhengjie.org.cn"的Harbor仓库

[root@node101.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json         #关闭node103.yinzhengjie.org.cn的安全检查并重启服务
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "bip":"192.168.100.254/24",
  "dns":["219.141.139.10","219.141.140.10"],
  "hosts":["tcp://0.0.0.0:8888","unix:///var/run/docker.sock"],
  "insecure-registries":["node102.yinzhengjie.org.cn:5000"],
  "insecure-registries":["node103.yinzhengjie.org.cn:80"]
}
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# systemctl restart docker
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json         #关闭node103.yinzhengjie.org.cn的安全检查并重启服务
[root@node101.yinzhengjie.org.cn ~]# docker images
REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
test                                    v0.1-1              d2003d6841b7        15 hours ago        16.1MB
myweb                                   v0.3-11             c0a33ce27a6b        15 hours ago        16MB
node102.yinzhengjie.org.cn:5000/myweb   v0.3-11             c0a33ce27a6b        15 hours ago        16MB
myweb                                   v0.3-10             fb0ef0b3aea3        15 hours ago        16MB
myweb                                   v0.3-9              6f9999d46b69        15 hours ago        16MB
myweb                                   v0.3-8              0110cfd06ce1        15 hours ago        16MB
myweb                                   v0.3-7              cb08b09cd959        16 hours ago        16MB
myweb                                   v0.3-6              0082820cf7f0        20 hours ago        16MB
myweb                                   v0.3-5              fb4f5a5ac1ba        20 hours ago        16MB
myweb                                   v0.3-4              7697fbbe8233        20 hours ago        16MB
myweb                                   v0.3-3              b512ab335e80        20 hours ago        16MB
myweb                                   v0.3-2              6162cd671ca9        20 hours ago        16MB
myweb                                   v0.3-1              f14829ada08d        20 hours ago        16MB
tinyhttpd                               v0.2-3              c06eb08ea6d6        47 hours ago        1.22MB
tinyhttpd                               v0.2-2              c7447ee49e2b        2 days ago          1.22MB
tinyhttpd                               v0.2-1              807230671730        2 days ago          1.22MB
tinyhttpd                               v0.1-9              24c887b252ad        2 days ago          8.49MB
tinyhttpd                               v0.1-8              42c71beb05d5        2 days ago          7.45MB
tinyhttpd                               v0.1-7              9a5668f5f3a3        2 days ago          7.45MB
tinyhttpd                               v0.1-6              2368b7546664        2 days ago          7.45MB
tinyhttpd                               v0.1-5              f6f58ddb1520        2 days ago          7.45MB
tinyhttpd                               v0.1-4              5086cc9cdc4a        2 days ago          7.45MB
tinyhttpd                               v0.1-3              aa780396b2a3        2 days ago          2.27MB
tinyhttpd                               v0.1-2              de390df4c4c3        2 days ago          1.23MB
tinyhttpd                               v0.1-1              794f641ae85e        2 days ago          1.22MB
redis                                   latest              de25a81a5a0b        5 days ago          98.2MB
busybox                                 latest              19485c79a9bb        6 weeks ago         1.22MB
nginx                                   1.14-alpine         8a2fb25a19f5        6 months ago        16MB
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-1 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-1      #将已经有的镜像进行打tag操作(咱们为了试验效果,共tag了5个镜像)
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-2 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-2
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-3 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-3
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-4 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-4
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-5 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-5
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
test                                         v0.1-1              d2003d6841b7        15 hours ago        16.1MB
myweb                                        v0.3-11             c0a33ce27a6b        15 hours ago        16MB
node102.yinzhengjie.org.cn:5000/myweb        v0.3-11             c0a33ce27a6b        15 hours ago        16MB
myweb                                        v0.3-10             fb0ef0b3aea3        15 hours ago        16MB
myweb                                        v0.3-9              6f9999d46b69        15 hours ago        16MB
myweb                                        v0.3-8              0110cfd06ce1        15 hours ago        16MB
myweb                                        v0.3-7              cb08b09cd959        16 hours ago        16MB
myweb                                        v0.3-6              0082820cf7f0        20 hours ago        16MB
myweb                                        v0.3-5              fb4f5a5ac1ba        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-5              fb4f5a5ac1ba        20 hours ago        16MB
myweb                                        v0.3-4              7697fbbe8233        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-4              7697fbbe8233        20 hours ago        16MB
myweb                                        v0.3-3              b512ab335e80        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-3              b512ab335e80        20 hours ago        16MB
myweb                                        v0.3-2              6162cd671ca9        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-2              6162cd671ca9        20 hours ago        16MB
myweb                                        v0.3-1              f14829ada08d        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-1              f14829ada08d        20 hours ago        16MB
tinyhttpd                                    v0.2-3              c06eb08ea6d6        47 hours ago        1.22MB
tinyhttpd                                    v0.2-2              c7447ee49e2b        2 days ago          1.22MB
tinyhttpd                                    v0.2-1              807230671730        2 days ago          1.22MB
tinyhttpd                                    v0.1-9              24c887b252ad        2 days ago          8.49MB
tinyhttpd                                    v0.1-8              42c71beb05d5        2 days ago          7.45MB
tinyhttpd                                    v0.1-7              9a5668f5f3a3        2 days ago          7.45MB
tinyhttpd                                    v0.1-6              2368b7546664        2 days ago          7.45MB
tinyhttpd                                    v0.1-5              f6f58ddb1520        2 days ago          7.45MB
tinyhttpd                                    v0.1-4              5086cc9cdc4a        2 days ago          7.45MB
tinyhttpd                                    v0.1-3              aa780396b2a3        2 days ago          2.27MB
tinyhttpd                                    v0.1-2              de390df4c4c3        2 days ago          1.23MB
tinyhttpd                                    v0.1-1              794f641ae85e        2 days ago          1.22MB
redis                                        latest              de25a81a5a0b        5 days ago          98.2MB
busybox                                      latest              19485c79a9bb        6 weeks ago         1.22MB
nginx                                        1.14-alpine         8a2fb25a19f5        6 months ago        16MB
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker tag myweb:v0.3-1 node103.yinzhengjie.org.cn:80/devops/myweb:v0.3-1  #将已经有的镜像进行打tag操作(咱们为了试验效果,共tag了5个镜像)
[root@node101.yinzhengjie.org.cn ~]# docker login node103.yinzhengjie.org.cn:80    #此处我们基于80端口登录,默认时基于443端口登录的
Username: yinzhengjie
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@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker login node103.yinzhengjie.org.cn:80    #此处我们基于80端口登录,默认时基于443端口登录的
[root@node101.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
test                                         v0.1-1              d2003d6841b7        15 hours ago        16.1MB
node102.yinzhengjie.org.cn:5000/myweb        v0.3-11             c0a33ce27a6b        15 hours ago        16MB
myweb                                        v0.3-11             c0a33ce27a6b        15 hours ago        16MB
myweb                                        v0.3-10             fb0ef0b3aea3        15 hours ago        16MB
myweb                                        v0.3-9              6f9999d46b69        15 hours ago        16MB
myweb                                        v0.3-8              0110cfd06ce1        15 hours ago        16MB
myweb                                        v0.3-7              cb08b09cd959        16 hours ago        16MB
myweb                                        v0.3-6              0082820cf7f0        20 hours ago        16MB
myweb                                        v0.3-5              fb4f5a5ac1ba        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-5              fb4f5a5ac1ba        20 hours ago        16MB
myweb                                        v0.3-4              7697fbbe8233        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-4              7697fbbe8233        20 hours ago        16MB
myweb                                        v0.3-3              b512ab335e80        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-3              b512ab335e80        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-2              6162cd671ca9        20 hours ago        16MB
myweb                                        v0.3-2              6162cd671ca9        20 hours ago        16MB
myweb                                        v0.3-1              f14829ada08d        20 hours ago        16MB
node103.yinzhengjie.org.cn:80/devops/myweb   v0.3-1              f14829ada08d        20 hours ago        16MB
tinyhttpd                                    v0.2-3              c06eb08ea6d6        47 hours ago        1.22MB
tinyhttpd                                    v0.2-2              c7447ee49e2b        2 days ago          1.22MB
tinyhttpd                                    v0.2-1              807230671730        2 days ago          1.22MB
tinyhttpd                                    v0.1-9              24c887b252ad        2 days ago          8.49MB
tinyhttpd                                    v0.1-8              42c71beb05d5        2 days ago          7.45MB
tinyhttpd                                    v0.1-7              9a5668f5f3a3        2 days ago          7.45MB
tinyhttpd                                    v0.1-6              2368b7546664        2 days ago          7.45MB
tinyhttpd                                    v0.1-5              f6f58ddb1520        2 days ago          7.45MB
tinyhttpd                                    v0.1-4              5086cc9cdc4a        2 days ago          7.45MB
tinyhttpd                                    v0.1-3              aa780396b2a3        2 days ago          2.27MB
tinyhttpd                                    v0.1-2              de390df4c4c3        2 days ago          1.23MB
tinyhttpd                                    v0.1-1              794f641ae85e        2 days ago          1.22MB
redis                                        latest              de25a81a5a0b        5 days ago          98.2MB
busybox                                      latest              19485c79a9bb        6 weeks ago         1.22MB
nginx                                        1.14-alpine         8a2fb25a19f5        6 months ago        16MB
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker push node103.yinzhengjie.org.cn:80/devops/myweb      #将已经打好tag的镜像全部推送到已经登录的Harbor服务器上
The push refers to repository [node103.yinzhengjie.org.cn:80/devops/myweb]
55514dc3bafb: Pushed 
076c58d2644f: Pushed 
b2cbae4b8c15: Pushed 
5ac9a5170bf2: Pushed 
a464c54f93a9: Pushed 
v0.3-1: digest: sha256:9c7535800e955be11ffa7ab5adb0d758b11ddee3c11ea408cc6eab7755890710 size: 1360
55514dc3bafb: Layer already exists 
076c58d2644f: Layer already exists 
b2cbae4b8c15: Layer already exists 
5ac9a5170bf2: Layer already exists 
a464c54f93a9: Layer already exists 
v0.3-2: digest: sha256:f79e1abd048ce9e4e5ee2ebfe4a1a3454772b14b0818fcf5fe117418e6038280 size: 1360
55514dc3bafb: Layer already exists 
076c58d2644f: Layer already exists 
b2cbae4b8c15: Layer already exists 
5ac9a5170bf2: Layer already exists 
a464c54f93a9: Layer already exists 
v0.3-3: digest: sha256:4ad45d226ea605f1625967a1cfe86fe22fff535becb722d20a2abd0b5ca88e97 size: 1360
0dac9c03dd8a: Pushed 
076c58d2644f: Layer already exists 
b2cbae4b8c15: Layer already exists 
5ac9a5170bf2: Layer already exists 
a464c54f93a9: Layer already exists 
v0.3-4: digest: sha256:894dea926a0d07248ddbd80ca83ce7149c0d4f9250933a681981f418fe0e98b2 size: 1360
77040215254b: Pushed 
076c58d2644f: Layer already exists 
b2cbae4b8c15: Layer already exists 
5ac9a5170bf2: Layer already exists 
a464c54f93a9: Layer already exists 
v0.3-5: digest: sha256:b436ff5ab1f8e626015a351588c74cad0a006ae99b62565f5aea6721050dec27 size: 1360
[root@node101.yinzhengjie.org.cn ~]# 
[root@node101.yinzhengjie.org.cn ~]# docker push node103.yinzhengjie.org.cn:80/devops/myweb      #将已经打好tag的镜像全部推送到已经登录的Harbor服务器上

7>.在Harbor的Web UI查看上传的镜像详细信息

8>.docker-compose脚本文件概述(建议熟悉Harbor服务的配置文件:"/usr/local/harbor/harbor.yml")

[root@node103.yinzhengjie.org.cn ~]# docker-compose  --help      #查看该命令的帮助信息
Define and run multi-container applications with Docker.

Usage:
  docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
  docker-compose -h|--help

Options:
  -f, --file FILE             Specify an alternate compose file (default: docker-compose.yml)
  -p, --project-name NAME     Specify an alternate project name (default: directory name)
  --verbose                   Show more output
  --no-ansi                   Do not print ANSI control characters
  -v, --version               Print version and exit
  -H, --host HOST             Daemon socket to connect to

  --tls                       Use TLS; implied by --tlsverify
  --tlscacert CA_PATH         Trust certs signed only by this CA
  --tlscert CLIENT_CERT_PATH  Path to TLS certificate file
  --tlskey TLS_KEY_PATH       Path to TLS key file
  --tlsverify                 Use TLS and verify the remote
  --skip-hostname-check       Don't check the daemon's hostname against the name specified
                              in the client certificate (for example if your docker host
                              is an IP address)
  --project-directory PATH    Specify an alternate working directory
                              (default: the path of the Compose file)

Commands:
  build              Build or rebuild services
  bundle             Generate a Docker bundle from the Compose file
  config             Validate and view the Compose file
  create             Create services
  down               Stop and remove containers, networks, images, and volumes
  events             Receive real time events from containers
  exec               Execute a command in a running container
  help               Get help on a command
  images             List images
  kill               Kill containers
  logs               View output from containers
  pause              Pause services
  port               Print the public port for a port binding
  ps                 List containers
  pull               Pull service images
  push               Push service images
  restart            Restart services
  rm                 Remove stopped containers
  run                Run a one-off command
  scale              Set number of containers for a service
  start              Start services
  stop               Stop services
  top                Display the running processes
  unpause            Unpause services
  up                 Create and start containers
  version            Show the Docker-Compose version information
[root@node103.yinzhengjie.org.cn ~]# 
[root@node103.yinzhengjie.org.cn ~]# docker-compose --help      #查看该命令的帮助信息
[root@node103.yinzhengjie.org.cn ~]# cd /usr/local/harbor/
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# ll
total 607880
drwxr-xr-x 3 root root        20 Oct 22 23:48 common
-rw-r--r-- 1 root root      5290 Oct 22 23:48 docker-compose.yml
-rw-r--r-- 1 root root 622428100 Sep 27 14:52 harbor.v1.9.1.tar.gz
-rw-r--r-- 1 root root      5815 Oct 22 23:40 harbor.yml
-rwxr-xr-x 1 root root      5088 Sep 27 14:52 install.sh
-rw-r--r-- 1 root root     11347 Sep 27 14:52 LICENSE
-rwxr-xr-x 1 root root      1748 Sep 27 14:52 prepare
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# docker-compose  pause    #执行暂停服务命令时要进入存放"harbor.yml"的目录
Pausing harbor-log        ... done
Pausing harbor-db         ... done
Pausing registry          ... done
Pausing redis             ... done
Pausing harbor-portal     ... done
Pausing registryctl       ... done
Pausing harbor-core       ... done
Pausing harbor-jobservice ... done
Pausing nginx             ... done
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# docker-compose pause    #执行暂停服务命令时要进入存放"harbor.yml"的目录
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# docker-compose  unpause   #不暂停harbor服务
Unpausing nginx             ... done
Unpausing harbor-jobservice ... done
Unpausing harbor-core       ... done
Unpausing registryctl       ... done
Unpausing harbor-portal     ... done
Unpausing redis             ... done
Unpausing registry          ... done
Unpausing harbor-db         ... done
Unpausing harbor-log        ... done
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# 
[root@node103.yinzhengjie.org.cn /usr/local/harbor]# docker-compose unpause   #不暂停harbor服务
原文地址:https://www.cnblogs.com/yinzhengjie/p/11706627.html