Docker自建仓库之Harbor部署实战

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。

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

一.Harbor概述

1>.什么是Harbor

  Harbor是一个用于存储和分发镜像的企业级Registry服务器,由Vmware开源,其通过添加一些企业必须的功能特性,例如安全,标识和管理等,扩展了开源Docker Distribution。

  作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。

  Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中,确保数据和知识产权在公司内部中管控,另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

  官网地址:
    https://vmware.github.io/
  官方Github地址:
    https://github.com/goharbor/harbor

2>.Harbor功能介绍

  基于角色的访问控制:
    用户与Docker镜像仓库通过"项目"进行则指管理,一个用户可以对多个镜像仓库在同一个命名空间(project)里有不同的权限。

  镜像复制:
    镜像可以在多个Registry实例中复制(同步).尤其适合于负载均衡,高可用,混合云和多云的场景。

  图形化用户界面:
    用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

  AD/LDAP支持:
    Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理。

  审计管理:
    所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
  
  国际化:
    以拥有英文,中文,德文,日文和俄文的本地化版本。更多的语言将会添加进来。

  RESTful API:
    提供给管理员对于Harbor更多的操控,使得与其它管理软件集成变得更容易。

  部署简单:
    提供在线和离线两种安装工具,也可以安装到vSphere平台(OVA方式)虚拟设备。

3>.下载Harbor(生产环境不建议大家直接用最新版,如果非要用最新版本建议在测试环境中做过足够的测试哟~)

[root@docker102.yinzhengjie.org.cn ~]# cd /usr/local/src/
[root@docker102.yinzhengjie.org.cn /usr/local/src]# 
[root@docker102.yinzhengjie.org.cn /usr/local/src]# ll
total 0
[root@docker102.yinzhengjie.org.cn /usr/local/src]# 
[root@docker102.yinzhengjie.org.cn /usr/local/src]# wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.5.tgz
--2020-01-28 01:14:30--  https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.5.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: 580059210 (553M) [application/x-tar]
Saving to: ‘harbor-offline-installer-v1.7.5.tgz’

100%[==================================================================================================================================================================>] 580,059,210 8.86MB/s   in 2m 8s  

2020-01-28 01:16:45 (4.33 MB/s) - ‘harbor-offline-installer-v1.7.5.tgz’ saved [580059210/580059210]

[root@docker102.yinzhengjie.org.cn /usr/local/src]# 
[root@docker102.yinzhengjie.org.cn /usr/local/src]# ll
total 566468
-rw-r--r-- 1 root root 580059210 Apr  2  2019 harbor-offline-installer-v1.7.5.tgz
[root@docker102.yinzhengjie.org.cn /usr/local/src]# 
[root@docker102.yinzhengjie.org.cn /usr/local/src]#

二.Harbor节点准备依赖环境

1>.操作平台

[root@docker103.yinzhengjie.org.cn ~]# uname -r
3.10.0-957.el7.x86_64
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# uname -m
x86_64
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]#

2>.添加一块2.0T硬盘

[root@docker103.yinzhengjie.org.cn ~]# fdisk -l

Disk /dev/sdb: 2147.5 GB, 2147483648000 bytes, 4194304000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 2199.0 GB, 2199023255552 bytes, 4294967296 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
Disk identifier: 60B0BC61-D7A6-4522-972F-E8B13E38A9C1


#         Start          End    Size  Type            Name
 1         2048         6143      2M  BIOS boot       
 2         6144      2103295      1G  Microsoft basic 
 3      2103296   4294723583      2T  Linux LVM       

Disk /dev/mapper/centos-root: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-yinzhengjie: 1660.9 GB, 1660944384000 bytes, 3244032000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]#

[root@docker103.yinzhengjie.org.cn ~]# fdisk -l

3>.格式化新添加的硬盘

[root@docker103.yinzhengjie.org.cn ~]# mkfs.xfs -n ftype=1 /dev/sdb 
meta-data=/dev/sdb               isize=512    agcount=4, agsize=131072000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288000, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=256000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@docker103.yinzhengjie.org.cn ~]#

[root@docker103.yinzhengjie.org.cn ~]# mkfs.xfs -n ftype=1 /dev/sdb

4>.将格式化的硬盘挂载到docker默认的存储路径(由于此时还没有安装docker,因此需要咱们手动创建出"/var/lib/docker"目录)

[root@docker103.yinzhengjie.org.cn ~]# mkdir -pv /var/lib/docker
mkdir: created directory ‘/var/lib/docker’
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# mount /dev/sdb /var/lib/docker/
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# xfs_info /var/lib/docker/
meta-data=/dev/sdb               isize=512    agcount=4, agsize=131072000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=524288000, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=256000, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]#

5>.设置硬盘开机自动挂载

[root@docker103.yinzhengjie.org.cn ~]# blkid /dev/sdb
/dev/sdb: UUID="80802aac-ad94-465b-a42d-07f99b28ed6b" TYPE="xfs" 
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# vim /etc/fstab [root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# egrep -v "^$|^#" /etc/fstab 
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=1865a93f-6113-4097-89dc-8c4ea5fdf68c /boot                   xfs     defaults        0 0
/dev/mapper/centos-yinzhengjie /yinzhengjie            xfs     defaults,noatime,nodiratime       0 0
UUID="80802aac-ad94-465b-a42d-07f99b28ed6b"    /var/lib/docker xfs    defaults    0 0
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]#

6>.安装docker

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/12178843.html

7>.启动docker服务

[root@docker104.yinzhengjie.org.cn ~]# ll /var/lib/docker
total 0
[root@docker104.yinzhengjie.org.cn ~]# 
[root@docker104.yinzhengjie.org.cn ~]# systemctl start docker
[root@docker104.yinzhengjie.org.cn ~]# 
[root@docker104.yinzhengjie.org.cn ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker104.yinzhengjie.org.cn ~]# 
[root@docker104.yinzhengjie.org.cn ~]# 
[root@docker104.yinzhengjie.org.cn ~]# ll /var/lib/docker
total 0
drwx------ 2 root root 24 Jan 28 02:04 builder
drwx--x--x 4 root root 92 Jan 28 02:04 buildkit
drwx------ 2 root root  6 Jan 28 02:04 containers
drwx------ 3 root root 22 Jan 28 02:04 image
drwxr-x--- 3 root root 19 Jan 28 02:04 network
drwx------ 3 root root 40 Jan 28 02:04 overlay2
drwx------ 4 root root 32 Jan 28 02:04 plugins
drwx------ 2 root root  6 Jan 28 02:04 runtimes
drwx------ 2 root root  6 Jan 28 02:04 swarm
drwx------ 2 root root  6 Jan 28 02:04 tmp
drwx------ 2 root root  6 Jan 28 02:04 trust
drwx------ 2 root root 25 Jan 28 02:04 volumes
[root@docker104.yinzhengjie.org.cn ~]# 
[root@docker104.yinzhengjie.org.cn ~]#

8>.安装docker编排工具docker-compose(安装Harbor时需要依赖该服务)

[root@docker103.yinzhengjie.org.cn ~]# yum -y install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirrors.tuna.tsinghua.edu.cn
 * updates: mirror.bit.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=====================================================================================================================================================================================================================================
 Package                                                     Arch                                                  Version                                               Repository                                             Size
=====================================================================================================================================================================================================================================
Installing:
 epel-release                                                noarch                                                7-11                                                  extras                                                 15 k

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

Total download size: 15 k
Installed size: 24 k
Downloading packages:
epel-release-7-11.noarch.rpm                                                                                                                                                                                  |  15 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : epel-release-7-11.noarch                                                                                                                                                                                          1/1 
  Verifying  : epel-release-7-11.noarch                                                                                                                                                                                          1/1 

Installed:
  epel-release.noarch 0:7-11                                                                                                                                                                                                         

Complete!
[root@docker103.yinzhengjie.org.cn ~]#

[root@docker103.yinzhengjie.org.cn ~]# yum -y install epel-release

[root@docker103.yinzhengjie.org.cn ~]# yum makecache fast
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                                                                                                                                                                                          | 8.9 kB  00:00:00     
 * base: mirror.bit.edu.cn
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.tuna.tsinghua.edu.cn
base                                                                                                                                                                                                          | 3.6 kB  00:00:00     
docker-ce-stable                                                                                                                                                                                              | 3.5 kB  00:00:00     
epel                                                                                                                                                                                                          | 5.3 kB  00:00:00     
extras                                                                                                                                                                                                        | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                       | 2.9 kB  00:00:00     
(1/3): epel/x86_64/group_gz                                                                                                                                                                                   |  90 kB  00:00:00     
(2/3): epel/x86_64/updateinfo                                                                                                                                                                                 | 1.0 MB  00:00:00     
(3/3): epel/x86_64/primary_db                                                                                                                                                                                 | 6.9 MB  00:00:01     
Metadata Cache Created
[root@docker103.yinzhengjie.org.cn ~]#

[root@docker103.yinzhengjie.org.cn ~]# yum makecache fast

[root@docker103.yinzhengjie.org.cn ~]# yum -y install docker-compose
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * epel: mirrors.tuna.tsinghua.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirrors.tuna.tsinghua.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.14.2-2.el7 will be installed
--> Processing Dependency: python36-chardet for package: python36-requests-2.14.2-2.el7.noarch
--> Processing Dependency: python36-idna for package: python36-requests-2.14.2-2.el7.noarch
--> Processing Dependency: python36-urllib3 for package: python36-requests-2.14.2-2.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.25.1-1.el7 will be installed
--> Processing Dependency: python36-rfc3986 for package: python36-urllib3-1.25.1-1.el7.noarch
--> Running transaction check
---> Package libtirpc.x86_64 0:0.2.4-0.16.el7 will be installed
---> Package python36-rfc3986.noarch 0:1.3.0-1.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.14.2-2.el7                                              epel                                           112 k
 python36-rfc3986                                                    noarch                                           1.3.0-1.el7                                               epel                                            49 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.25.1-1.el7                                              epel                                           173 k
 python36-websocket-client                                           noarch                                           0.47.0-2.el7                                              epel                                            59 k

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

Total download size: 11 M
Installed size: 56 M
Downloading packages:
(1/23): libyaml-0.1.4-11.el7_0.x86_64.rpm                                                                                                                                                                     |  55 kB  00:00:00     
(2/23): python3-3.6.8-10.el7.x86_64.rpm                                                                                                                                                                       |  69 kB  00:00:00     
(3/23): python3-pip-9.0.3-5.el7.noarch.rpm                                                                                                                                                                    | 1.8 MB  00:00:00     
(4/23): libtirpc-0.2.4-0.16.el7.x86_64.rpm                                                                                                                                                                    |  89 kB  00:00:03     
warning: /var/cache/yum/x86_64/7/epel/packages/docker-compose-1.18.0-4.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY====-                                                 ] 1.5 MB/s | 5.0 MB  00:00:04 ETA 
Public key for docker-compose-1.18.0-4.el7.noarch.rpm is not installed
(5/23): docker-compose-1.18.0-4.el7.noarch.rpm                                                                                                                                                                | 222 kB  00:00:04     
(6/23): python3-libs-3.6.8-10.el7.x86_64.rpm                                                                                                                                                                  | 7.0 MB  00:00:04     
(7/23): python3-setuptools-39.2.0-10.el7.noarch.rpm                                                                                                                                                           | 629 kB  00:00:01     
(8/23): python36-PyYAML-3.12-1.el7.x86_64.rpm                                                                                                                                                                 | 149 kB  00:00:00     
(9/23): python36-cached_property-1.5.1-2.el7.noarch.rpm                                                                                                                                                       |  18 kB  00:00:00     
(10/23): python36-chardet-3.0.4-1.el7.noarch.rpm                                                                                                                                                              | 190 kB  00:00:00     
(11/23): python36-docker-2.6.1-3.el7.noarch.rpm                                                                                                                                                               | 180 kB  00:00:00     
(12/23): python36-docker-pycreds-0.2.1-2.el7.noarch.rpm                                                                                                                                                       |  15 kB  00:00:00     
(13/23): python36-dockerpty-0.4.1-10.el7.noarch.rpm                                                                                                                                                           |  29 kB  00:00:00     
(14/23): python36-docopt-0.6.2-8.el7.noarch.rpm                                                                                                                                                               |  29 kB  00:00:00     
(15/23): python36-idna-2.7-2.el7.noarch.rpm                                                                                                                                                                   |  98 kB  00:00:00     
(16/23): python36-jsonschema-2.5.1-4.el7.noarch.rpm                                                                                                                                                           |  76 kB  00:00:00     
(17/23): python36-pysocks-1.6.8-6.el7.noarch.rpm                                                                                                                                                              |  30 kB  00:00:03     
(18/23): python36-requests-2.14.2-2.el7.noarch.rpm                                                                                                                                                            | 112 kB  00:00:00     
(19/23): python36-rfc3986-1.3.0-1.el7.noarch.rpm                                                                                                                                                              |  49 kB  00:00:00     
(20/23): python36-six-1.11.0-3.el7.noarch.rpm                                                                                                                                                                 |  33 kB  00:00:00     
(21/23): python36-texttable-1.6.2-1.el7.noarch.rpm                                                                                                                                                            |  23 kB  00:00:00     
(22/23): python36-urllib3-1.25.1-1.el7.noarch.rpm                                                                                                                                                             | 173 kB  00:00:00     
(23/23): python36-websocket-client-0.47.0-2.el7.noarch.rpm                                                                                                                                                    |  59 kB  00:00:00     
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                954 kB/s |  11 MB  00:00:11     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-11.noarch (@extras)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libyaml-0.1.4-11.el7_0.x86_64                                                                                                                                                                                    1/23 
  Installing : libtirpc-0.2.4-0.16.el7.x86_64                                                                                                                                                                                   2/23 
  Installing : python3-pip-9.0.3-5.el7.noarch                                                                                                                                                                                   3/23 
  Installing : python3-setuptools-39.2.0-10.el7.noarch                                                                                                                                                                          4/23 
  Installing : python3-3.6.8-10.el7.x86_64                                                                                                                                                                                      5/23 
  Installing : python3-libs-3.6.8-10.el7.x86_64                                                                                                                                                                                 6/23 
  Installing : python36-six-1.11.0-3.el7.noarch                                                                                                                                                                                 7/23 
  Installing : python36-websocket-client-0.47.0-2.el7.noarch                                                                                                                                                                    8/23 
  Installing : python36-pysocks-1.6.8-6.el7.noarch                                                                                                                                                                              9/23 
  Installing : python36-dockerpty-0.4.1-10.el7.noarch                                                                                                                                                                          10/23 
  Installing : python36-docker-pycreds-0.2.1-2.el7.noarch                                                                                                                                                                      11/23 
  Installing : python36-PyYAML-3.12-1.el7.x86_64                                                                                                                                                                               12/23 
  Installing : python36-texttable-1.6.2-1.el7.noarch                                                                                                                                                                           13/23 
  Installing : python36-jsonschema-2.5.1-4.el7.noarch                                                                                                                                                                          14/23 
  Installing : python36-idna-2.7-2.el7.noarch                                                                                                                                                                                  15/23 
  Installing : python36-docopt-0.6.2-8.el7.noarch                                                                                                                                                                              16/23 
  Installing : python36-cached_property-1.5.1-2.el7.noarch                                                                                                                                                                     17/23 
  Installing : python36-chardet-3.0.4-1.el7.noarch                                                                                                                                                                             18/23 
  Installing : python36-rfc3986-1.3.0-1.el7.noarch                                                                                                                                                                             19/23 
  Installing : python36-urllib3-1.25.1-1.el7.noarch                                                                                                                                                                            20/23 
  Installing : python36-requests-2.14.2-2.el7.noarch                                                                                                                                                                           21/23 
  Installing : python36-docker-2.6.1-3.el7.noarch                                                                                                                                                                              22/23 
  Installing : docker-compose-1.18.0-4.el7.noarch                                                                                                                                                                              23/23 
  Verifying  : libtirpc-0.2.4-0.16.el7.x86_64                                                                                                                                                                                   1/23 
  Verifying  : python36-pysocks-1.6.8-6.el7.noarch                                                                                                                                                                              2/23 
  Verifying  : python3-libs-3.6.8-10.el7.x86_64                                                                                                                                                                                 3/23 
  Verifying  : docker-compose-1.18.0-4.el7.noarch                                                                                                                                                                               4/23 
  Verifying  : python3-pip-9.0.3-5.el7.noarch                                                                                                                                                                                   5/23 
  Verifying  : python36-urllib3-1.25.1-1.el7.noarch                                                                                                                                                                             6/23 
  Verifying  : python36-texttable-1.6.2-1.el7.noarch                                                                                                                                                                            7/23 
  Verifying  : python36-jsonschema-2.5.1-4.el7.noarch                                                                                                                                                                           8/23 
  Verifying  : python36-idna-2.7-2.el7.noarch                                                                                                                                                                                   9/23 
  Verifying  : python36-websocket-client-0.47.0-2.el7.noarch                                                                                                                                                                   10/23 
  Verifying  : python36-PyYAML-3.12-1.el7.x86_64                                                                                                                                                                               11/23 
  Verifying  : python36-requests-2.14.2-2.el7.noarch                                                                                                                                                                           12/23 
  Verifying  : python36-dockerpty-0.4.1-10.el7.noarch                                                                                                                                                                          13/23 
  Verifying  : python36-docker-2.6.1-3.el7.noarch                                                                                                                                                                              14/23 
  Verifying  : python36-six-1.11.0-3.el7.noarch                                                                                                                                                                                15/23 
  Verifying  : python3-setuptools-39.2.0-10.el7.noarch                                                                                                                                                                         16/23 
  Verifying  : python36-docopt-0.6.2-8.el7.noarch                                                                                                                                                                              17/23 
  Verifying  : python36-cached_property-1.5.1-2.el7.noarch                                                                                                                                                                     18/23 
  Verifying  : python3-3.6.8-10.el7.x86_64                                                                                                                                                                                     19/23 
  Verifying  : libyaml-0.1.4-11.el7_0.x86_64                                                                                                                                                                                   20/23 
  Verifying  : python36-chardet-3.0.4-1.el7.noarch                                                                                                                                                                             21/23 
  Verifying  : python36-docker-pycreds-0.2.1-2.el7.noarch                                                                                                                                                                      22/23 
  Verifying  : python36-rfc3986-1.3.0-1.el7.noarch                                                                                                                                                                             23/23 

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.14.2-2.el7           python36-rfc3986.noarch 0:1.3.0-1.el7           python36-six.noarch 0:1.11.0-3.el7      python36-texttable.noarch 0:1.6.2-1.el7   
  python36-urllib3.noarch 0:1.25.1-1.el7         python36-websocket-client.noarch 0:0.47.0-2.el7  

Complete!
[root@docker103.yinzhengjie.org.cn ~]#

[root@docker103.yinzhengjie.org.cn ~]# yum -y install docker-compose

三.Harbor部署实战

1>.解压harbor安装包

[root@docker103.yinzhengjie.org.cn ~]# cd /usr/local/src/
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# ll
total 566468
-rw-r--r-- 1 root root 580059210 Jan 28 01:36 harbor-offline-installer-v1.7.5.tgz
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# tar xf harbor-offline-installer-v1.7.5.tgz 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# ll
total 566468
drwxr-xr-x 3 root root       270 Jan 28 03:45 harbor
-rw-r--r-- 1 root root 580059210 Jan 28 01:36 harbor-offline-installer-v1.7.5.tgz
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# ll harbor
total 572840
drwxr-xr-x 3 root root        23 Jan 28 03:45 common
-rw-r--r-- 1 root root       939 Apr  1  2019 docker-compose.chartmuseum.yml
-rw-r--r-- 1 root root       975 Apr  1  2019 docker-compose.clair.yml
-rw-r--r-- 1 root root      1434 Apr  1  2019 docker-compose.notary.yml
-rw-r--r-- 1 root root      5608 Apr  1  2019 docker-compose.yml
-rw-r--r-- 1 root root      8045 Jan 28 03:52 harbor.cfg
-rw-r--r-- 1 root root 585234819 Apr  1  2019 harbor.v1.7.5.tar.gz
-rwxr-xr-x 1 root root      5739 Apr  1  2019 install.sh
-rw-r--r-- 1 root root     11347 Apr  1  2019 LICENSE
-rw-r--r-- 1 root root   1263409 Apr  1  2019 open_source_license
-rwxr-xr-x 1 root root     36337 Apr  1  2019 prepare
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]#

2>.修改Harbor的主机名(可以理解为外部访问Harbor的地址,当然也可以写IP地址哟~)

[root@docker103.yinzhengjie.org.cn /usr/local/src]# egrep -v "^#|^$" harbor/harbor.cfg | grep hostname
hostname = reg.mydomain.com
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# sed -r -i 's#(hostname = )reg.mydomain.com#\docker103.yinzhengjie.org.cn#' harbor/harbor.cfg 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# egrep -v "^#|^$" harbor/harbor.cfg | grep hostname
hostname = docker103.yinzhengjie.org.cn
[root@docker103.yinzhengjie.org.cn /usr/local/src]#

3>.修改Harbor的默认密码

[root@docker103.yinzhengjie.org.cn /usr/local/src]# egrep -v "^#|^$" harbor/harbor.cfg | grep harbor_admin_password
harbor_admin_password = Harbor12345
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# sed -r -i 's#(harbor_admin_password = )Harbor12345#\yinzhengjie#' harbor/harbor.cfg 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]# egrep -v "^#|^$" harbor/harbor.cfg | grep harbor_admin_password
harbor_admin_password = yinzhengjie
[root@docker103.yinzhengjie.org.cn /usr/local/src]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src]#

4>.安装Harbor服务

[root@docker103.yinzhengjie.org.cn ~]# cd /usr/local/src/harbor/
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ll
total 572840
drwxr-xr-x 3 root root        23 Jan 28 03:45 common
-rw-r--r-- 1 root root       939 Apr  1  2019 docker-compose.chartmuseum.yml
-rw-r--r-- 1 root root       975 Apr  1  2019 docker-compose.clair.yml
-rw-r--r-- 1 root root      1434 Apr  1  2019 docker-compose.notary.yml
-rw-r--r-- 1 root root      5608 Apr  1  2019 docker-compose.yml
-rw-r--r-- 1 root root      8045 Jan 28 03:55 harbor.cfg
-rw-r--r-- 1 root root 585234819 Apr  1  2019 harbor.v1.7.5.tar.gz
-rwxr-xr-x 1 root root      5739 Apr  1  2019 install.sh
-rw-r--r-- 1 root root     11347 Apr  1  2019 LICENSE
-rw-r--r-- 1 root root   1263409 Apr  1  2019 open_source_license
-rwxr-xr-x 1 root root     36337 Apr  1  2019 prepare
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ./install.sh

5>.访问Harbor的WebUI

四.使用Harbor新建项目

1>.点击"新建项目"

2>.项目创建成功

3>.查看项目的"镜像仓库"

4>.查看项目的"配置管理"

五.将本地镜像上传到自建的Harbor镜像仓库中

1>.登录自建的Harbor镜像仓库

[root@docker101.yinzhengjie.org.cn ~]# vim /etc/docker/daemon.json 
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "insecure-registries":["docker103.yinzhengjie.org.cn"]
}
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# systemctl restart docker
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# docker login -u admin docker103.yinzhengjie.org.cn
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@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]#

2>.为本地镜像打tag

[root@docker101.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos-haproxy      v1.8.20             1858fe05d96f        3 days ago          606MB
registry            latest              708bc6af7e5e        3 days ago          25.8MB
tomcat-app01        v0.1                bf45c22f2d5b        4 days ago          983MB
tomcat-base         8.5.50              9ff79f369094        5 days ago          968MB
jdk-base            1.8.0_231           0f63a97ddc85        5 days ago          953MB
centos-base         7.6.1810            b4931fd9ace2        5 days ago          551MB
centos              centos7.6.1810      f1cb7c7d58b7        10 months ago       202MB
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# docker image tag centos-base:7.6.1810 docker103.yinzhengjie.org.cn/base_images/centos-base:v7.6.1810
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
centos-haproxy                                         v1.8.20             1858fe05d96f        3 days ago          606MB
registry                                               latest              708bc6af7e5e        3 days ago          25.8MB
tomcat-app01                                           v0.1                bf45c22f2d5b        4 days ago          983MB
tomcat-base                                            8.5.50              9ff79f369094        5 days ago          968MB
jdk-base                                               1.8.0_231           0f63a97ddc85        5 days ago          953MB
docker103.yinzhengjie.org.cn/base_images/centos-base   v7.6.1810           b4931fd9ace2        5 days ago          551MB
centos-base                                            7.6.1810            b4931fd9ace2        5 days ago          551MB
centos                                                 centos7.6.1810      f1cb7c7d58b7        10 months ago       202MB
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]#

3>.上传镜像成功

[root@docker101.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
centos-haproxy                                         v1.8.20             1858fe05d96f        3 days ago          606MB
registry                                               latest              708bc6af7e5e        4 days ago          25.8MB
tomcat-app01                                           v0.1                bf45c22f2d5b        4 days ago          983MB
tomcat-base                                            8.5.50              9ff79f369094        5 days ago          968MB
jdk-base                                               1.8.0_231           0f63a97ddc85        5 days ago          953MB
centos-base                                            7.6.1810            b4931fd9ace2        5 days ago          551MB
docker103.yinzhengjie.org.cn/base_images/centos-base   v7.6.1810           b4931fd9ace2        5 days ago          551MB
centos                                                 centos7.6.1810      f1cb7c7d58b7        10 months ago       202MB
[root@docker101.yinzhengjie.org.cn ~]# 
[root@docker101.yinzhengjie.org.cn ~]# docker image push docker103.yinzhengjie.org.cn/base_images/centos-base:v7.6.1810 
The push refers to repository [docker103.yinzhengjie.org.cn/base_images/centos-base]
0f448859d86e: Pushed 
89169d87dbe2: Pushed 
v7.6.1810: digest: sha256:62c5a70f2846bd7f8ecd65785e379d0e00acf33ae899f0ec96754a3731b2d425 size: 742
[root@docker101.yinzhengjie.org.cn ~]#

六.下载镜像

1>.登录自建的Harbor镜像仓库

[root@docker102.yinzhengjie.org.cn ~]# vim /etc/docker/daemon.json 
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://tuv7rqqq.mirror.aliyuncs.com"],
  "insecure-registries":["docker103.yinzhengjie.org.cn"]
}
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# systemctl restart docker
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# docker login docker103.yinzhengjie.org.cn
Username: admin
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@docker102.yinzhengjie.org.cn ~]#

2>.下载镜像到本地

[root@docker102.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# docker image pull docker103.yinzhengjie.org.cn/base_images/centos-base:v7.6.1810 
v7.6.1810: Pulling from base_images/centos-base
ac9208207ada: Pull complete 
1a93113d354a: Pull complete 
Digest: sha256:62c5a70f2846bd7f8ecd65785e379d0e00acf33ae899f0ec96754a3731b2d425
Status: Downloaded newer image for docker103.yinzhengjie.org.cn/base_images/centos-base:v7.6.1810
docker103.yinzhengjie.org.cn/base_images/centos-base:v7.6.1810
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]# docker image ls
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
docker103.yinzhengjie.org.cn/base_images/centos-base   v7.6.1810           b4931fd9ace2        5 days ago          551MB
[root@docker102.yinzhengjie.org.cn ~]# 
[root@docker102.yinzhengjie.org.cn ~]#

七.编写Harbor服务的启动脚本

1>.查看harbor的安装目录中关于docker-compose的配置文件(更多关于docker-compose工具的使用可参考:https://www.cnblogs.com/yinzhengjie/p/12250356.html)

2>.使用docker-compose组件管理harbor服务

[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 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@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]#

[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ss -ntl
State       Recv-Q Send-Q                                                                                 Local Address:Port                                                                                                Peer Address:Port              
LISTEN      0      20480                                                                                      127.0.0.1:1514                                                                                                           *:*                  
LISTEN      0      128                                                                                                *:22                                                                                                             *:*                  
LISTEN      0      128                                                                                               :::22                                                                                                            :::*                  
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# docker-compose start
Starting log         ... done
Starting registry    ... done
Starting registryctl ... done
Starting postgresql  ... done
Starting adminserver ... done
Starting core        ... done
Starting portal      ... done
Starting redis       ... done
Starting jobservice  ... done
Starting proxy       ... done
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ss -ntl
State       Recv-Q Send-Q                                                                                 Local Address:Port                                                                                                Peer Address:Port              
LISTEN      0      20480                                                                                      127.0.0.1:1514                                                                                                           *:*                  
LISTEN      0      128                                                                                                *:22                                                                                                             *:*                  
LISTEN      0      20480                                                                                             :::80                                                                                                            :::*                  
LISTEN      0      128                                                                                               :::22                                                                                                            :::*                  
LISTEN      0      20480                                                                                             :::443                                                                                                           :::*                  
LISTEN      0      20480                                                                                             :::4443                                                                                                          :::*                  
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]#

[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# docker-compose start              #启动harbor服务

[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ss -ntl
State       Recv-Q Send-Q                                                                                 Local Address:Port                                                                                                Peer Address:Port              
LISTEN      0      20480                                                                                      127.0.0.1:1514                                                                                                           *:*                  
LISTEN      0      128                                                                                                *:22                                                                                                             *:*                  
LISTEN      0      20480                                                                                             :::80                                                                                                            :::*                  
LISTEN      0      128                                                                                               :::22                                                                                                            :::*                  
LISTEN      0      20480                                                                                             :::443                                                                                                           :::*                  
LISTEN      0      20480                                                                                             :::4443                                                                                                          :::*                  
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# docker-compose stop
Stopping nginx              ... done
Stopping harbor-jobservice  ... done
Stopping harbor-portal      ... done
Stopping harbor-core        ... done
Stopping registryctl        ... done
Stopping harbor-db          ... done
Stopping redis              ... done
Stopping registry           ... done
Stopping harbor-adminserver ... done
Stopping harbor-log         ... done
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# ss -ntl
State       Recv-Q Send-Q                                                                                 Local Address:Port                                                                                                Peer Address:Port              
LISTEN      0      128                                                                                                *:22                                                                                                             *:*                  
LISTEN      0      128                                                                                               :::22                                                                                                            :::*                  
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# 
[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]#

[root@docker103.yinzhengjie.org.cn /usr/local/src/harbor]# docker-compose stop               #停止harbor服务

3>.将harbor服务设置为开机自启动

[root@docker103.yinzhengjie.org.cn ~]# vim /etc/rc.d/rc.local 
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# tail -2 /etc/rc.d/rc.local 
#Add by yinzhengjie
cd /usr/local/src/harbor && docker-compose start
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# ll /etc/rc.d/rc.local 
-rw-r--r-- 1 root root 543 Feb  2 18:28 /etc/rc.d/rc.local
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# chmod +x /etc/rc.d/rc.local 
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# ll /etc/rc.d/rc.local 
-rwxr-xr-x 1 root root 543 Feb  2 18:28 /etc/rc.d/rc.local
[root@docker103.yinzhengjie.org.cn ~]# 
[root@docker103.yinzhengjie.org.cn ~]# reboot

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
11天前
|
应用服务中间件 Docker 容器
docker应用部署---Tomcat的部署配置
这篇文章介绍了如何使用Docker部署Tomcat服务器,包括搜索和拉取Tomcat镜像、创建容器并设置端口映射和目录映射,以及如何创建一个HTML页面并使用外部机器访问Tomcat服务器。
docker应用部署---Tomcat的部署配置
|
11天前
|
关系型数据库 MySQL 数据安全/隐私保护
docker应用部署---MySQL的部署配置
这篇文章介绍了如何使用Docker部署MySQL数据库,包括搜索和拉取MySQL镜像、创建容器并设置端口映射和目录映射、进入容器操作MySQL,以及如何使用外部机器连接容器中的MySQL。
docker应用部署---MySQL的部署配置
|
1天前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
虚拟机centos7.9一键部署docker
|
11天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
11天前
|
存储 Kubernetes Docker
深入探索容器化技术:Docker 实战与 Kubernetes 管理
深入探索容器化技术:Docker 实战与 Kubernetes 管理
28 0
|
Web App开发 NoSQL 测试技术
Docker实战:更轻松、更愉快、更高效
本文讲的是Docker实战:更轻松、更愉快、更高效,【编者的话】本文作者(Michael Herman)通过实例展示了Docker在日常开发中的潜力,并不需要花费太多精力,就可以建立一套高效、简洁的流程,包括了项目自动化的测试、持续集成及部署,将开发者从这些令人厌倦的体力劳动中解放出来,同时为我们了解Docker提供了直观的经验。
2879 0
|
17天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
201 69
|
5天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
1天前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
|
18天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。