Habor是由VMWare中国团队开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,水平扩展,同步,AD/LDAP集成以及审计日志等。
 
一、部署Harbor
1: 安装docker-compose

 [root@node2 ~]# curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
[root@node2 ~]# chmod !$
[root@node2 ~]# docker-compose -v docker-compose
version 1.17.-rc1, build a0f95af

2:下载harbor

GitHub下载地址:https://github.com/goharbor/harbor/releases

harbor下载地址:http://harbor.orientsoft.cn/

 [root@node2 src]# wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz
[root@node2 src]# tar zxvf harbor-offline-installer-v1.5.0.tgz

3:准备ca证书

手动生成证书:https://www.cnblogs.com/douyi/p/11600719.html(参考1-5步骤即可)

注册免费证书:https://freessl.org/

4:配置harbor参数
[root@node2 src]# cd harbor
[root@node2 src]# vim harbor.cfg
修改下面的参数
hostname = harbor.test.com ##定义你的域名或者IP地址
ui_url_protocol = https ##定义访问方式
ssl_cert = /usr/local/src/server.crt ##定义证书crt的路径
ssl_cert_key = /usr/local/src/server.key ##定义证书key的路径
harbor_admin_password = harbor123 ##定义harbor管理员的密码

 
5:执行安装harbor
[root@node2 src]# sh install.sh

 [Step ]: checking installation environment ...

 Note: docker version: 18.09.

 Note: docker-compose version: 1.17.

 [Step ]: loading Harbor images ...
52ef9064d2e4: Loading layer [==================================================>] .9MB/.9MB
c169f7c7a5ff: Loading layer [==================================================>] .2MB/.2MB
a2194b3a5434: Loading layer [==================================================>] .75MB/.75MB
f3809b773329: Loading layer [==================================================>] .048kB/.048kB
bdd2cd4d5394: Loading layer [==================================================>] .13kB/.13kB
bce61638a813: Loading layer [==================================================>] .8MB/.8MB
Loaded image: vmware/clair-photon:v2.0.1-v1.5.0
0bf5fb4e60f4: Loading layer [==================================================>] 95MB/95MB
9fc876f7ef97: Loading layer [==================================================>] .656kB/.656kB
9f364ae08e7f: Loading layer [==================================================>] .048kB/.048kB
d8e3574f27f2: Loading layer [==================================================>] .68kB/.68kB
Loaded image: vmware/postgresql-photon:v1.5.0
8cb812a02f44: Loading layer [==================================================>] .25MB/.25MB
826629c35871: Loading layer [==================================================>] .36MB/.36MB
68fc630fcd08: Loading layer [==================================================>] .36MB/.36MB
Loaded image: vmware/harbor-adminserver:v1.5.0
fd8233cdfcf0: Loading layer [==================================================>] .25MB/.25MB
7ab0310b3d9d: Loading layer [==================================================>] .56kB/.56kB
75609935cf31: Loading layer [==================================================>] .56kB/.56kB
654b65c0f8ff: Loading layer [==================================================>] .048kB/.048kB
1da5c77da464: Loading layer [==================================================>] .8MB/.8MB
5e9191f65a4c: Loading layer [==================================================>] .8MB/.8MB
Loaded image: vmware/registry-photon:v2.6.2-v1.5.0
Loaded image: vmware/photon:1.0
454c81edbd3b: Loading layer [==================================================>] .2MB/.2MB
e99db1275091: Loading layer [==================================================>] .4MB/.4MB
051e4ee23882: Loading layer [==================================================>] .216kB/.216kB
6cca4437b6f6: Loading layer [==================================================>] .216kB/.216kB
1d48fc08c8bc: Loading layer [==================================================>] .68kB/.68kB
0419724fd942: Loading layer [==================================================>] .536kB/.536kB
543c0c1ee18d: Loading layer [==================================================>] .2MB/.2MB
4190aa7e89b8: Loading layer [==================================================>] .9kB/.9kB
Loaded image: vmware/harbor-migrator:v1.5.0
1736beaf11c8: Loading layer [==================================================>] .25MB/.25MB
3026403c0282: Loading layer [==================================================>] .39MB/.39MB
1aaf4a794824: Loading layer [==================================================>] .168kB/.168kB
b427e1a2dd17: Loading layer [==================================================>] .56MB/.56MB
68906d88fd96: Loading layer [==================================================>] .38MB/.38MB
Loaded image: vmware/harbor-ui:v1.5.0
cf8fe5c86f4b: Loading layer [==================================================>] .26MB/.26MB
d15d127e6aa2: Loading layer [==================================================>] .072kB/.072kB
9d47dbd3d824: Loading layer [==================================================>] .9kB/.9kB
098c90ca59f4: Loading layer [==================================================>] .95kB/.95kB
Loaded image: vmware/redis-photon:v1.5.0
71a9f645bc2d: Loading layer [==================================================>] .755MB/.755MB
Loaded image: vmware/nginx-photon:v1.5.0
c4c015394057: Loading layer [==================================================>] .3MB/.3MB
f9d78b9c2c97: Loading layer [==================================================>] .216kB/.216kB
5cf7df688ef1: Loading layer [==================================================>] .216kB/.216kB
9513efb6efc9: Loading layer [==================================================>] .68kB/.68kB
52252ffb5fc7: Loading layer [==================================================>] .536kB/.536kB
Loaded image: vmware/mariadb-photon:v1.5.0
243e37f674cb: Loading layer [==================================================>] .25MB/.25MB
eb85e1888b13: Loading layer [==================================================>] .95MB/.95MB
7b86ea27af2e: Loading layer [==================================================>] .3MB/.3MB
a876e7e90459: Loading layer [==================================================>] .87kB/.87kB
08c705395182: Loading layer [==================================================>] .072kB/.072kB
2cb9ada082da: Loading layer [==================================================>] .24MB/.24MB
Loaded image: vmware/notary-signer-photon:v0.5.1-v1.5.0
b9abce7219b5: Loading layer [==================================================>] .15MB/.15MB
ee87a4f06084: Loading layer [==================================================>] .584kB/.584kB
ca647be60b60: Loading layer [==================================================>] .072kB/.072kB
aeb4260dd4ca: Loading layer [==================================================>] .096kB/.096kB
4493e8c270cf: Loading layer [==================================================>] .584kB/.584kB
ce532e45f1e6: Loading layer [==================================================>] .728kB/.728kB
Loaded image: vmware/harbor-log:v1.5.0
4de8028cebd0: Loading layer [==================================================>] .78kB/.78kB
b762605dfab6: Loading layer [==================================================>] .56kB/.56kB
bed1e891c86f: Loading layer [==================================================>] .072kB/.072kB
Loaded image: vmware/harbor-db:v1.5.0
820ecb80c0fa: Loading layer [==================================================>] .25MB/.25MB
43ece8a3b461: Loading layer [==================================================>] .9MB/.9MB
e7ac4a143f8d: Loading layer [==================================================>] .9MB/.9MB
Loaded image: vmware/harbor-jobservice:v1.5.0
6ae72c7ad4ac: Loading layer [==================================================>] .16MB/.16MB
1ad34ba80481: Loading layer [==================================================>] .3MB/.3MB
f6ae3aed7f00: Loading layer [==================================================>] .87kB/.87kB
1b77c5882538: Loading layer [==================================================>] .072kB/.072kB
6364681eec7e: Loading layer [==================================================>] .46MB/.46MB
Loaded image: vmware/notary-server-photon:v0.5.1-v1.5.0 [Step ]: preparing environment ...
Generated and saved secret to 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/config.yml
Generated configuration file: ./common/config/log/logrotate.conf
Generated configuration file: ./common/config/jobservice/config.yml
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 ]: checking existing instance of Harbor ... [Step ]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ...
Creating harbor-log ... done
Creating redis ...
Creating registry ...
Creating harbor-db ...
Creating harbor-adminserver ...
Creating registry
Creating harbor-db
Creating redis
Creating harbor-adminserver ... done
Creating harbor-ui ...
Creating harbor-ui ... done
Creating harbor-jobservice ...
Creating nginx ...
Creating nginx
Creating nginx ... done ✔ ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at https://harbor.test.com.
For more details, please visit https://github.com/vmware/harbor

完成之后,通过docker-compose 命令查看到harbor运行相关信息

 [root@node2 harbor]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver /harbor/start.sh Up
harbor-db /usr/local/bin/docker-entr ... Up /tcp
harbor-jobservice /harbor/start.sh Up
harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:->/tcp
harbor-ui /harbor/start.sh Up
nginx nginx -g daemon off; Up 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
redis docker-entrypoint.sh redis ... Up /tcp
registry /entrypoint.sh serve /etc/ ... Up /tcp
6:web界面访问
##访问之前,先在访问的机器hosts文件中定义解析地址

新建一个项目test-tomcat

 
二、测试
1:拉取tomcat公共镜像

 [root@node2 src]# docker pull tomcat:9.0
9.0: Pulling from library/tomcat
844c33c7e6ea: Pull complete
ada5d61ae65d: Pull complete
f8427fdf4292: Pull complete
f025bafc4ab8: Pull complete
67b8714e1225: Pull complete
a78c0b398690: Pull complete
db8414d1baad: Pull complete
4fd8b5730f57: Pull complete
2985be663ca3: Pull complete
6c2146356687: Pull complete
[root@node2 src]# docker tag tomcat:9.0 harbor.test.com/test-tomcat/tomcat:9.0

2:把tomcat推送到harbor仓库里(首次上传,需要先通过docker login登录)

 [root@node2 src]# docker login https://harbor.test.com
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@node2 src]# docker push harbor.test.com/test-tomcat/tomcat:9.0
The push refers to repository [harbor.test.com/test-tomcat/tomcat]
0c2c0181da75: Pushed
dd940d218ae3: Pushed
3254597aa3ac: Pushed
25efa461ccff: Pushed
4272c5799ff4: Pushed
9a11244a7e74: Pushed
5f3a5adb8e97: Pushed
73bfa217d66f: Pushed
91ecdd7165d3: Pushed
e4b20fcc48f4: Pushed
9.0: digest: sha256:ef41ad8f2e6119f71dad674d29b0edd28057eaf25be8786d3e259a1152d4fd25 size:

在web页面,项目里查看是否成功

最新文章

  1. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用
  2. 使用PowerDesigner设计建造MySQL数据库
  3. java笔记随笔
  4. Silverlight:版本控制的衍化
  5. C语言中memset(void *s, char ch,unsigned n)用的用法
  6. visual2012 快捷键
  7. Canopy v. 1.5.5 ubuntu安装流程
  8. 生产库MySQL配置文件my.cnf详解
  9. Reading or Writing to Another Processes Memory in C# z
  10. 用VS2005写一个 C 的类库和用 C#来调用的示例
  11. 第五章 Logistic回归
  12. Asp.Net Identity自定义user类的运用,ClaimsIdentity
  13. Ionic项目中使用极光推送
  14. vhost.sh 源代码,认真看哦
  15. javascript基础修炼(10)——VirtualDOM和基本DFS
  16. 版本控制,django缓存,跨域问题解决
  17. jQuery设置radio、select、checkbox只读属性后,如何在后台得到数据
  18. Python笔记(二)查找重复元素
  19. C#回调浅析(委托、接口回调)
  20. 20155237 第十一周java课堂程序

热门文章

  1. Python3.7.1(四) Print如何在输出中插入变量
  2. scipy.sparse的csc_matrix、csr_matrix与coo_matrix区别与应用(思维导图)
  3. VMware NAT模式ping通外网[CentOS7]
  4. 你真的会用JavaScript中的sort方法吗
  5. DDCTF2019 的四道题wp
  6. Asis CTF 2016 b00ks理解
  7. python3之递归实例
  8. wordpress开源小程序
  9. day 17 re模块 正则表达式
  10. 不止面试02-JVM内存模型面试题详解