您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

CentOS7 下搭建 Harbor 仓库以及登录

时间:2020-01-17 10:25:23  来源:  作者:

手把手教会你在 centos7 环境下搭建 Harbor 仓库,以及使用 Docker 以 HTTP 方式登录 Harbor 仓库。

CentOS7 环境下搭建 Harbor 仓库

环境依赖

Harbor 仓库需要环境:Python 2.7 或以上版本,Docker 1.10 或以上,Docker Compose 1.6.0 或以上。 CentOS7 自带 Python ,所以不需要安装。 关于 Docker 安装网上有很多成熟的教程,就不在赘述。 所以接下来说一说 docker-compose 。 部署 docker-compose (这里是以 1.16.1 版本为例,具体版本可以根据自己需要进行下载):

curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

提权:

chmod +x /usr/local/bin/docker-compose

验证docker-compose是否部署成功:

docker-compose --version

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

如上图,可以看到,我们已经成功部署 docker-compose 。

在线安装 Harbor 及其相关配置

为了方便寻找 Harbor ,将它安装在 usr/local/src 目录下,所以需要进入该目录:

cd /usr/local/src

下载相关gz包:

链接地址: https://github.com/vmware/harbor/releases根据自己的需要,下载即可。本篇文章以下载 v1.3.0 为例,下载命令:wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.3.0.tgz下载完成之后,进行解压:tar -zxvf harbor-offline-installer-v1.3.0.tgz

耐心等待解压完成即可。解压完成之后,进行以下操作:

进入 harbor 目录: cd harbor修改配置文件: vi harbor.cfg配置文件中有 hostname : hostname = 192.168.243.138#设置访问地址,可用 ip ,域名,不能使用 127.0.0.1 或 localhost ,在此设为 192.168.243.138#如果设置为域名,记得在自己的 hosts 文件中做相应修改#在此只是示例,具体可根据自己需要 harbor.cfg 详细配置可参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md#configuring-harbor修改相关内容之后,运行: ./prepare  进行更新参数操作

但是需要注意,这个脚本有个坑 .hostname =reg.xx.com 默认的不能有,注释掉也不行。 不要问我为什么知道这个,耗在这里耗了将近半个小时。 配置文件中有关于 Harbor 的默认密码:

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

修改配置文件之后,即可启动,一条命令即可:

./install.sh

如下图, Harbor 正在启动:

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

如下图所示时,表示 Harbor 安装成功

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

此时,我们可以通过访问刚才设置的 ip 地址,访问到 Harbor 界面

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

输入默认账号: admin ,密码: Harbor12345 ,可以看到管理界面:

CentOS7 下搭建 Harbor 仓库以及登录

 

在这个过程中,常用的命令就是停止和安装命令:

docker-compose down -v   停止docker-compose up -d    启动

可能出现的错误

1,无法访问此页:造成的原因,可能没有把防火墙关闭,导致不能访问 一条命令即可:

临时关闭防火墙: systemctl stop firewalld 永久关闭防火墙: systemctl disable firewalld.service

但是一般不建议把防火墙关掉。先写在这里,我后续再研究研究,看看都用到了哪儿些端口,等回来再更新

2,查看日志时,发现错误: failed to connect to tcp://postgresql:5432 解决办法:

停止并删除 docker 容器: docker-compose down -v启动所有 docker 容器: docker-compose up -d

3,在停止并删除docker容器时,发现错误:ERROR: network harbor_harbor has active endpoints 解决办法:

重启 Docker service:service docker restart

4,ERROR:Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables –wait -t nat -I DOCKER -i br-2add1a39bc5d -j RETURN: iptables: No chain/target/match by that name。 (exit status 1)

CentOS7 下搭建 Harbor 仓库以及登录

 

出现这个问题的原因是因为,我是后来才关闭的防火墙,这个时候需要重启一下 docker 才生效。

service docker restart 

重启docker之后,再运行命令:

./install.sh

问题解决。 以上是 CentOS7 下搭建 Harbor 仓库的过程,接下来说说使用 Docker 以 HTTP 方式登录 Harbor 仓库

Docker 登录 Harbor 仓库( HTTP 方式)

Docker 登录到 Harbor 仓库时,不管是使用 http 协议还是使用 https 协议,都需要修改一些配置。 来介绍一下,在使用 http 协议时,需要进行什么哪些配置。 首先,确定自己的 Harbor 仓库使用的是 http 协议,在 harbor.cfg 文件中就可以看到:

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

查找 docker 的服务文件,使用命令:

systemctl status docker

可以看到 docker 的服务文件在 /etc/systemd/system 目录下。

 

CentOS7 下搭建 Harbor 仓库以及登录

 

 

接下来我们需要去编辑 docker.service 文件,并进行一些修改,在 ExecStart 处,添加 –insecure-registry 参数

--insecure-registry=reg.zll.com( Harbor地址, harbor.cfg 文件中的 hostname 项)

修改完成如下图:

CentOS7 下搭建 Harbor 仓库以及登录

 

重新加载 service 文件,重启 docker 服务:

systemctl daemon-reloadsystemctl restart docker

在图中可以看到, Harbor 仓库我是使用的域名,所以还需要在 hosts 文件中做一些配置,如果使用的是 ip 地址,则此步骤可以忽略

编辑 hosts 文件: vi /etc/hosts将 Harbor 地址写入到 hosts 文件中: 192.168.243.138 reg.zll.com#以我这次的配置为例,具体可以灵活变动

此时,相关步骤便结束了,我们可以在 Docker 客户端使用命令进行登录

docker login [ ip 地址或域名]( Harbor 地址, harbor.cfg 文件中的 hostname 项)//根据提示分别输入用户名和密码

可以看到,此时 Docker 可以登录到 Harbor 仓库上面了。

CentOS7 下搭建 Harbor 仓库以及登录

 

因为使用的是 http 协议登陆的,所以会有一个警告,对于实验环境来说,是可以忽略的。

可能遇到的问题:

Error response from daemon: Get http://reg.zll.com/v2/: dial tcp 192.168.243.138:80: connect: connection refused 原因是因为在修改了 hosts 文件之后,没有重新载入 docker ,再运行一下命令即可:

systemctl daemon-reloadsystemctl restart docker

关于 Docker 登录 Harbor 仓库( HTTP 方式)到此便结束了 以上,感谢您的阅读~



Tags:Harbor   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
简介Docker离不开可靠的镜像管理,官方默认的DockHub,虽然Docker官方也提供了公共的镜像仓库Registry,但是功能略显简单。Harbor是由VMware公司开源的企业级的Docker Registry管...【详细内容】
2021-03-17  Tags: Harbor  点击:(277)  评论:(0)  加入收藏
安装harbor仓库服务器基本需求 CPU 2个 内存 4GB 硬盘 40GB 环境需求 python 版本2.7以上docker版本1.10以上端口 第一步需要安装docker-composecurl -L https://github.com...【详细内容】
2020-08-31  Tags: Harbor  点击:(69)  评论:(0)  加入收藏
手把手教会你在 CentOS7 环境下搭建 Harbor 仓库,以及使用 Docker 以 HTTP 方式登录 Harbor 仓库。CentOS7 环境下搭建 Harbor 仓库环境依赖Harbor 仓库需要环境:Python 2.7...【详细内容】
2020-01-17  Tags: Harbor  点击:(227)  评论:(0)  加入收藏
在命令行里用docker登陆harbor会出现如下信息,我看网上的文章大部分都是截图说我登陆成功了,却没有人仔细看看如下这行写的是什么? 你的密码将存储在未加密的config.json文件中...【详细内容】
2019-11-14  Tags: Harbor  点击:(284)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条