环境依赖:

Harbor仓库需要环境:Python 2.7或以上版本,Docker 1.10或以上,Docker Compose 1.6.0或以上.

CentOS7自带Python,所以不需要安装.

关于Docker安装已经写过一篇博客:[Docker]CentOS7下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



如上图,可以看到,我们已经成功部署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.22.237
#设置访问地址,可用ip,域名,不能使用127.0.0.1或localhost,在此设为192.168.22.237
#如果设置为域名,记得在自己的hosts文件中做相应修改
#在此只是示例,具体可根据自己需要
harbor.cfg详细配置可参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md#configuring-harbor
修改相关内容之后,运行: ./prepare 进行更新参数操作

但是需要注意,这个脚本有个坑.hostname =reg.xx.com默认的不能有,注释掉也不行.

不要问我为什么知道这个,耗在这里耗了将近半个小时…

配置文件中有关于Harbor的默认密码:



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

./install.sh

如下图,Harbor正在启动:



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



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



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



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

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,在运行docker ps查看容器时,发现有好几个容器起不来



因为错误太多,每个我都不说了,大概解决思路就是去目录:/var/log/harbor查看相关服务的日志,一般日志里面都会有错误说明,跟着说明解决就OK.

当所有的服务都起来之后,Harbor一般就可以起来了:



5,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)



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

service docker restart

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

./install.sh

问题解决.

最后,虽然整个过程很艰辛,遇到了很多的错误,抓耳挠腮了许久,但是当你看到Harbor界面的时候,那种开心,会让你觉得,所有的付出都是值得的~

[Kubernetes]CentOS7下搭建Harbor仓库的更多相关文章

  1. CentOS7下搭建yum仓库

    服务端配置: 1.开启yum缓存 sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@control /]# cat /etc/yum.c ...

  2. 在Centos7下搭建Socks5代理服务器

    在Centos7下搭建Socks5代理服务器 http://blog.51cto.com/quliren/2052776   采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器 ...

  3. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  4. Hyperledger超级账本在Centos7下搭建运行环境

    超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO).埃森哲(Accenture)等十几个不同利益体 ...

  5. centos7下搭建ceph luminous(12.2.1)--无网或网络较差

    本博客的主要内容是在centos7下搭建luminous,配置dashboard,搭建客户端使用rbd,源码安装ceph,最后给出一些较为常用的命令.本博客针对初次接触ceph的人群. 搭建环境: 主 ...

  6. CentOS7下搭建zabbix监控(四)——Zabbix报警设置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 CentOS7下搭建zabbix监控(三)——Zabbix ...

  7. CentOS7下搭建zabbix监控(三)——Zabbix监控服务配置

    CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置 (1).配置Zabbix监控Apache服务 主机名:yo ...

  8. CentOS7下搭建zabbix监控(二)——Zabbix被监控端配置

    Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置 (1).在CentOS7(被监控端)上部署Zabbix Agent 主机名:youxi2 IP地址: ...

  9. Linux系统:Centos7下搭建PostgreSQL关系型数据库

    本文源码:GitHub·点这里 || GitEE·点这里 一.PostgreSQL简介 1.数据库简介 PostgreSQL是一个功能强大的开源数据库系统,具有可靠性.稳定性.数据一致性等特点,且可以 ...

随机推荐

  1. 【知名的3D造型设计软件】犀牛 Rhinoceros 5.5.2 for Mac

    [简介] 今天和大家分享最新的3D设计软件 犀牛 Rhinoceros for Mac 5.5.2 版本,支持中文界面,这是一款Mac上知名的3D造型软件,犀牛可以广泛地应用于三维动画制作.工业制造. ...

  2. Linux报错

    Linux报错 ------------------- 在VMware虚拟机中配置yum源时,执行 mount /dev/cdrom /mnt/cdrom 出现 mount: no medium fo ...

  3. Nginx简单手册

    Nginx 变量 变量名 注解 $arg_name 请求中的的参数名,即“?”后面的arg_name=arg_value形式的arg_name $args  请求中的参数值 $binary_remot ...

  4. SQL Server没有足够的内存继续执行程序

    有一个表的数据特别大,我点击生成脚本的时候,喜欢新建窗口,但是不行,数据量太大了,所以选择保存文件,保存到本地了.然后我点击执行,又报没有内存去执行...还是因为数据量太大了 解决办法,使用sqlcm ...

  5. JDK动态代理和CGLIB代理的区别

    一.原理区别: java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理. 而cglib动态代理是利用asm开源包,对代理对象类的class文件 ...

  6. ruby----%使用法

    %{String}  用于创建一个使用双引号括起来的字符串,这个表示法与%Q{String}完全一样 result = %{hello} puts "result is: #{result} ...

  7. PHPMYWIND4.6.6前台Refer头注入+后台另类getshell分析

    下载链接 https://share.weiyun.com/b060b59eaa564d729a9347a580b7e4f2 Refer头注入 全局过滤函数如下 function _RunMagicQ ...

  8. HDU 6425(羽毛球组合 **)

    题意是说有四种同学,没有球拍没有球的( a ),只有球拍的( b ),只有球的( c ),既有球拍又有球的( d ):现在要去打羽毛球,每个人都可以选择去或者不去,问有多少种无法打羽毛球的情况. 无法 ...

  9. ajax的优缺点

    ajax(Asynchronous Javascript And XML) 异步的js和XML 以前更多的是使用XML的数据格式,现在数据格式更多的是json   ajax的优势:单页面应用(SPA) ...

  10. Spring Boot 2程序不能加载 com.mysql.jdbc.Driver 问题

    用Spring Boot Starter 向导生成了一个很简单SpringBoot程序, 用到了 MySQL, 总是下面不能加载 Mysql driver class 错误. Cannot load ...