Docker----harbor服务

目录

 一、harbor简介

二、harbor服务部署

1、上传文件至opt目录下

2、解压到安装目录

3、配置harbor的参数文件

4、执行运行脚本

5、查看

三、验证 

1、下载一个小点的镜像,方便实验

2、通过命令行登录Harbor

3、给需要上传的镜像打tag标记

4、上传至harbor仓库


本篇实验基于docker-compose篇之后,否则无法完成

 一、harbor简介

        Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact。Harbor 允许用户用命令行工具对容器镜像及其他 Artifact 进行推送和拉取,并提供了图形管理界面帮助用户查看和管理这些 Artifact。(registry 为其核心组件)

        Harbor 比 registry相比好处是: harbor支持多种功能、图形化界面管理、多用户权限、角色管理机制、安全机制。registry为纯字符界面形式。

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

二、harbor服务部署

1、上传文件至opt目录下

[root@zwb_docker opt]# rz -E
rz waiting to receive.
harbor-offline-installer-v1.2.2.tgz    rh

2、解压到安装目录

[root@zwb_docker opt]# tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/

3、配置harbor的参数文件

[root@zwb_docker harbor]# pwd                 ## 当前位置
/usr/local/harbor
[root@zwb_docker harbor]# vim harbor.cfg  

4、执行运行脚本

[root@zwb_docker harbor]# sh install.sh 

[root@zwb_docker harbor]# sh install.sh 

[Step 0]: checking installation environment ...

Note: docker version: 20.10.18

Note: docker-compose version: 1.14.0

[Step 1]: loading Harbor images ...
dd60b611baaa: Loading layer  133.2MB/133.2MB
abf0579c40fd: Loading layer  1.536kB/1.536kB
ea1fc7bed9c5: Loading layer  22.48MB/22.48MB
1d6671367c69: Loading layer  7.168kB/7.168kB
b322bb3e4765: Loading layer  5.339MB/5.339MB
0cf512d418ac: Loading layer  9.728kB/9.728kB
4a7cdc0b1a2b: Loading layer   2.56kB/2.56kB
ef1130526636: Loading layer  22.48MB/22.48MB
Loaded image: vmware/harbor-ui:v1.2.2
4a050fccec52: Loading layer  12.16MB/12.16MB
d918d73369ec: Loading layer   17.3MB/17.3MB
22898836924e: Loading layer  15.87kB/15.87kB
Loaded image: vmware/notary-photon:server-0.5.0
76c156eab077: Loading layer    134MB/134MB
1eae6563289a: Loading layer  16.42MB/16.42MB
Loaded image: vmware/nginx-photon:1.11.13
2e814f7ef645: Loading layer  2.048kB/2.048kB
bc5742b580db: Loading layer  2.048kB/2.048kB
5413bcdb81b0: Loading layer   2.56kB/2.56kB
c4e2be066795: Loading layer  3.584kB/3.584kB
a4ea62be60b0: Loading layer   22.8MB/22.8MB
800a351ae5da: Loading layer   22.8MB/22.8MB
Loaded image: vmware/registry:2.6.2-photon
Loaded image: photon:1.0
a39bd6a7f897: Loading layer  10.95MB/10.95MB
6f79b8337a1f: Loading layer   17.3MB/17.3MB
74bbd0e81dd0: Loading layer  15.87kB/15.87kB
Loaded image: vmware/notary-photon:signer-0.5.0
2202528221a2: Loading layer   7.07MB/7.07MB
4fe250d3c912: Loading layer   7.07MB/7.07MB
Loaded image: vmware/harbor-adminserver:v1.2.2
9463fb852970: Loading layer  75.37MB/75.37MB
d2c9a2a395d9: Loading layer  3.584kB/3.584kB
b08aea2a8a82: Loading layer  3.072kB/3.072kB
103e65a1013b: Loading layer  3.072kB/3.072kB
Loaded image: vmware/harbor-log:v1.2.2
5d6cbe0dbcf9: Loading layer  129.2MB/129.2MB
435f2dfbd884: Loading layer  344.6kB/344.6kB
814d7b59f0cc: Loading layer  4.657MB/4.657MB
aae399245bd0: Loading layer  1.536kB/1.536kB
21e2ae955f72: Loading layer  33.84MB/33.84MB
a2d0f7b84059: Loading layer  25.09kB/25.09kB
819fa6af55b8: Loading layer  3.584kB/3.584kB
78914c99a468: Loading layer  167.7MB/167.7MB
36e79c658afb: Loading layer  6.144kB/6.144kB
f73503aca003: Loading layer  9.216kB/9.216kB
a21b39f6da59: Loading layer  1.536kB/1.536kB
ef81eb7c77b3: Loading layer  8.704kB/8.704kB
08d0cfe60b0d: Loading layer  4.608kB/4.608kB
0864dda8f611: Loading layer  4.608kB/4.608kB
Loaded image: vmware/harbor-db:v1.2.2
29d1f4ae97dd: Loading layer  18.31MB/18.31MB
7caf936e1402: Loading layer  18.31MB/18.31MB
Loaded image: vmware/harbor-jobservice:v1.2.2
78dbfa5b7cbc: Loading layer  130.9MB/130.9MB
5f70bf18a086: Loading layer  1.024kB/1.024kB
8deec01122be: Loading layer  344.6kB/344.6kB
574ab36807f2: Loading layer  1.536kB/1.536kB
d8f2cde2eef8: Loading layer  20.48kB/20.48kB
eaa3924b054e: Loading layer   5.12kB/5.12kB
8aa2c772121c: Loading layer  184.3MB/184.3MB
c3014bbccb0b: Loading layer  8.704kB/8.704kB
978a35efaa8c: Loading layer  4.608kB/4.608kB
c2385ae7d6e5: Loading layer   16.6MB/16.6MB
Loaded image: vmware/harbor-notary-db:mariadb-10.1.10
c192a34d4ff4: Loading layer  155.2MB/155.2MB
d012a9276a83: Loading layer  10.75MB/10.75MB
b8befd881cb5: Loading layer  10.75MB/10.75MB
Loaded image: vmware/clair:v2.0.1-photon
bbda1562018e: Loading layer  101.6MB/101.6MB
1171ab08cc04: Loading layer  6.656kB/6.656kB
6df81d3a0683: Loading layer  6.656kB/6.656kB
Loaded image: vmware/postgresql:9.6.4-photon


[Step 2]: preparing environment ...
Clearing the configuration file: ./common/config/adminserver/env
Clearing the configuration file: ./common/config/ui/env
Clearing the configuration file: ./common/config/ui/app.conf
Clearing the configuration file: ./common/config/ui/private_key.pem
Clearing the configuration file: ./common/config/db/env
Clearing the configuration file: ./common/config/jobservice/env
Clearing the configuration file: ./common/config/jobservice/app.conf
Clearing the configuration file: ./common/config/registry/config.yml
Clearing the configuration file: ./common/config/registry/root.crt
Clearing the configuration file: ./common/config/nginx/nginx.conf
loaded secret from file: /data/secretkey
Generated configuration file: ./common/config/nginx/nginx.conf
Generated configuration file: ./common/config/adminserver/env
Generated configuration file: ./common/config/ui/env
Generated configuration file: ./common/config/registry/config.yml
Generated configuration file: ./common/config/db/env
Generated configuration file: ./common/config/jobservice/env
Generated configuration file: ./common/config/jobservice/app.conf
Generated configuration file: ./common/config/ui/app.conf
Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt
The configuration files are ready, please use docker-compose to start the service.


[Step 3]: checking existing instance of Harbor ...


[Step 4]: starting Harbor ...
Creating harbor-log ... 
Creating harbor-log ... done
Creating registry ... 
Creating harbor-db ... 
Creating harbor-adminserver ... 
Creating registry
Creating harbor-db
Creating registry ... done
Creating harbor-ui ... 
Creating harbor-ui ... done
Creating nginx ... 
Creating harbor-jobservice ... 
Creating harbor-jobservice
Creating nginx ... done

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

Now you should be able to visit the admin portal at http://192.168.159.68 . 
For more details, please visit https://github.com/vmware/harbor .

5、查看

[root@zwb_docker harbor]# docker-compose ps
                Name                                 Command                                 State                                  Ports                 
---------------------------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver                     /harbor/harbor_adminserver             Up                                                                          
harbor-db                              docker-entrypoint.sh mysqld            Up                                     3306/tcp                             
harbor-jobservice                      /harbor/harbor_jobservice              Up                                                                          
harbor-log                             /bin/sh -c crond && rm -f  ...         Up                                     127.0.0.1:1514->514/tcp              
harbor-ui                              /harbor/harbor_ui                      Up                                                                          
nginx                                  nginx -g daemon off;                   Up                                     0.0.0.0:443->443/tcp,:::443->443/tcp 
                                                                                                                     , 0.0.0.0:4443->4443/tcp,:::4443->44 
                                                                                                                     43/tcp,                              
                                                                                                                     0.0.0.0:80->80/tcp,:::80->80/tcp     
registry                               /entrypoint.sh serve /etc/ ...         Up                                     5000/tcp           

浏览器访问

 

 之前在docker的daemom.json文件中配置了配置了Harbor的地址,进行删除

[root@zwb_docker docker]# systemctl daemon-reload                  ## 重新加载守护进程
[root@zwb_docker docker]# systemctl restart docker.service      ## 重启服务

在docker.server文件中进行设置:让docker启动时便可指向harbor仓库

重启服务:

[root@zwb_docker docker]# cd /usr/local/harbor/
[root@zwb_docker harbor]# docker-compose up -d


[root@zwb_docker harbor]# docker ps 
CONTAINER ID   IMAGE                              COMMAND                  CREATED       STATUS              PORTS                                                                                                 NAMES
44d333a47740   vmware/harbor-jobservice:v1.2.2    "/harbor/harbor_jobs…"   4 hours ago   Up About a minute                                                                                                         harbor-jobservice
20f31cd89ebd   vmware/nginx-photon:1.11.13        "nginx -g 'daemon of…"   4 hours ago   Up 27 seconds       0.0.0.0:80->80/tcp, :::80->80/tc443/tcp, :::443->443/tcp, 0.0.0.0:4443->4443/tcp, :::4443->4443/tcp   nginx
f5fd0a1aea60   vmware/harbor-ui:v1.2.2            "/harbor/harbor_ui"      4 hours ago   Up About a minute                                                                                                         harbor-ui
28358bcc064c   vmware/harbor-adminserver:v1.2.2   "/harbor/harbor_admi…"   4 hours ago   Up About a minute                                                                                                         harbor-adminserver
863b61ac76c6   vmware/harbor-db:v1.2.2            "docker-entrypoint.s…"   4 hours ago   Up About a minute   3306/tcp                                                                                              harbor-db
2de21a6db7a1   vmware/registry:2.6.2-photon       "/entrypoint.sh serv…"   4 hours ago   Up About a minute   5000/tcp                                                                                              registry
26010cca51d2   vmware/harbor-log:v1.2.2           "/bin/sh -c 'crond &…"   4 hours ago   Up 49 minutes       127.0.0.1:1514->514/tcp                                                                               harbor-log

三、验证 

1、下载一个小点的镜像,方便实验

[root@zwb_docker harbor]# docker pull cirros

[root@zwb_docker harbor]# docker pull cirros
Using default tag: latest
latest: Pulling from library/cirros
d0b405be7a32: Pull complete 
bd054094a037: Pull complete 
c6a00de1ec8a: Pull complete 
Digest: sha256:1e695eb2772a2b511ccab70091962d1efb9501fdca804eb1d52d21c0933e7f47
Status: Downloaded newer image for cirros:latest
docker.io/library/cirros:latest

2、通过命令行登录Harbor

[root@zwb_docker harbor]# docker login -u admin -p Harbor12345 http://127.0.0.1
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded                    ### 登录成功

3、给需要上传的镜像打tag标记

## 打tag
[root@zwb_docker harbor]# docker tag cirros:latest 127.0.0.1/public-libary/cirros:v2
[root@zwb_docker harbor]# docker push 127.0.0.1/public-libary/cirros:v2 

4、上传至harbor仓库

[root@zwb_docker harbor]# docker push 127.0.0.1/public-libary/cirros:v2 
The push refers to repository [127.0.0.1/public-libary/cirros]
984ad441ec3d: Layer already exists 
f0a496d92efa: Layer already exists 
e52d19c3bee2: Layer already exists 
v2: digest: sha256:483f15ac97d03dc3d4dcf79cf71ded2e099cf76c340f3fdd0b3670a40a198a22 size: 943

## 查看仓库上传成功

 删除本地镜像,从仓库下载

[root@zwb_docker harbor]# docker rmi 127.0.0.1/public-libary/cirros:v2 
Untagged: 127.0.0.1/public-libary/cirros:v2
Untagged: 127.0.0.1/public-libary/cirros@sha256:483f15ac97d03dc3d4dcf79cf71ded2e099cf76c340f3fdd0b3670a40a198a22

 从仓库下载

[root@zwb_docker harbor]# docker pull 192.168.159.68/public-libary/cirros:v2
v2: Pulling from public-libary/cirros
Digest: sha256:483f15ac97d03dc3d4dcf79cf71ded2e099cf76c340f3fdd0b3670a40a198a22
Status: Downloaded newer image for 192.168.159.68/public-libary/cirros:v2
192.168.159.68/public-libary/cirros:v2
[root@zwb_docker harbor]# docker images
REPOSITORY                            TAG               IMAGE ID       CREATED         SIZE
dockercompose_nginx                   latest            b7d47c45767d   6 hours ago     205MB
<none>                                <none>            a3e7e0eecf4f   6 hours ago     308MB
centos                                7                 eeb6ee3f44bd   13 months ago   204MB
192.168.159.68/public-libary/cirros   v2                f9cae1daf5f6   19 months ago   12.6MB
cirros                                latest            f9cae1daf5f6   19 months ago   12.6MB
vmware/harbor-log                     v1.2.2            36ef78ae27df   5 years ago     200MB
vmware/harbor-jobservice              v1.2.2            e2af366cba44   5 years ago     164MB
vmware/harbor-ui                      v1.2.2            39efb472c253   5 years ago     178MB
vmware/harbor-adminserver             v1.2.2            c75963ec543f   5 years ago     142MB
vmware/harbor-db                      v1.2.2            ee7b9fa37c5d   5 years ago     329MB
vmware/nginx-photon                   1.11.13           6cc5c831fc7f   5 years ago     144MB
vmware/registry                       2.6.2-photon      5d9100e4350e   5 years ago     173MB
vmware/postgresql                     9.6.4-photon      c562762cbd12   5 years ago     225MB
vmware/clair                          v2.0.1-photon     f04966b4af6c   5 years ago     297MB
vmware/harbor-notary-db               mariadb-10.1.10   64ed814665c6   5 years ago     324MB
vmware/notary-photon                  signer-0.5.0      b1eda7d10640   5 years ago     156MB
vmware/notary-photon                  server-0.5.0      6e2646682e3c   5 years ago     157MB
photon                                1.0               e6e4e4a2ba1b   6 years ago     128MB

 下载完成。如果仓库中没有,会自动到公共仓库下载

猜你喜欢

转载自blog.csdn.net/m0_62948770/article/details/127460122