Docker搭建私有仓库之Harbor

Docker搭建私有仓库之Harbor

Harbor

Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是DockerRegistry的更高级封装, 它除了提供友好的WebUI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。

一、搭建Harbor私有仓库

Harbor私有仓库和Registry私有仓库相比,功能强大很多,并且支持web图形化管理,所以在企业中非常受到欢迎!

1)案例描述

两台docker服务器,dockerA创建Harbor私有仓库,dockerB用于测试!

1、DockerA服务器的操作

[root@dockerA ~]# yum -y install yum-utils device-mapper-persistent-data lvm2//下载docker-compose工具所需的依赖(部署docker环境时,就可以安装了)

[root@dockerA ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose//下载docker-compose工具

[root@dockerA ~]#  chmod +x /usr/local/bin/docker-compose

[root@dockerA ~]# docker-compose -v          

docker-compose version1.25.0, build0a186604//查看docker-compose工具版本信息,确保已经安装成功

配置Harbor

同样也是上github官网搜索,找到相应的版本即可,这里就不多做截图了!

网址:https://github.com/goharbor/harbor/releases

如图:

[root@dockerA ~]# wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz//下载harbor软件包

[root@dockerA ~]# tar zxf harbor-offline-installer-v1.7.0.tgz -C /usr/local[root@dockerA ~]# cd /usr/local/harbor/

[root@dockerA harbor]# vim harbor.cfg //编写其配置文件,其他版本默认是cfg结尾的,这个版本是yml结尾的,文件内容都一样的hostname=192.168.45.129//更改其为本机的IP地址harbor_admin_password: Harbor12345//这一行原本就是存在,不需要自行填写,只需记得它的用户名和密码即可,有需要可以自行进行修改

[root@dockerA harbor]# ./install.sh              //执行安装脚本

[root@dockerA harbor]# vim /usr/lib/systemd/system/docker.service //编写docker主配置文件 ExecStart=/usr/bin/dockerd --insecure-registry192.168.45.129//跟registry差不多,主要harbor配置文件中没有填写端口号,这里也可添加,否则可能会出现错误

[root@dockerA harbor]# systemctl daemon-reload 

[root@dockerA harbor]# systemctl restart docker          //重新启动docker服务

[root@dockerA harbor]# pwd/usr/local/harbor                //注意目录,必须在这个目录下[root@dockerA harbor]# docker-compose start//使用docker-compose工具启动所有容器(因为在重新启动docker时,所有的容器都已经关闭了)

[root@dockerA harbor]# netstat -anpt | grep 80              //确认80端口在监听tcp600:::80:::*                    LISTEN22871/docker-proxy

客户端访问web页面:

上传镜像

仓库搭建完成后,接着在dockerA(harbor)服务器上上传镜像!

[root@dockerA harbor]# docker login -u admin -p Harbor12345 192.168.45.129  //指定用户名、密码及harbor服务器地址登录

WARNING! Using --password via the CLIisinsecure. Use --password-stdin.WARNING! Your password will be stored unencryptedin/root/.docker/config.json.Configure a credential helper to removethiswarning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-store

[root@dockerA ~]# docker tag centos:7 192.168.45.129/test/centos:7//需要更改镜像名称,test是刚才创建的仓库名称

[root@dockerA ~]# docker push 192.168.45.129/test/centos:7//向harbor服务器的test仓库上传镜像

上传完成后,如图:

二、在dockerB服务器上测试下载镜像

[root@dockerB ~]# vim /usr/lib/systemd/system/docker.service //编写docker的主配置文件

13ExecStart=/usr/bin/dockerd --insecure-registry192.168.45.129//指定harbor服务器的IP地址

[root@dockerB ~]# systemctl daemon-reload

[root@dockerB ~]# systemctl restart docker      //重新启动docker服务

[root@dockerB ~]#  docker login -u admin -p Harbor12345 192.168.45.129//登录到harbor服务器

WARNING! Using --password via the CLIisinsecure. Use --password-stdin.WARNING! Your password will be stored unencryptedin/root/.docker/config.json.Configure a credential helper to removethiswarning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded//登录成功

[root@dockerB ~]# docker pull 192.168.45.129/test/centos:7//下载镜像进行测试

[root@dockerB ~]# docker imagesREPOSITORY                  TAG                IMAGE ID            CREATED            SIZE192.168.45.129/test/centos7b5b4d78bc90c2months ago203MB

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349