13-docker系列-docker之harbor仓库的搭建

人生难得几回搏,此时不搏待何时。这篇文章主要讲述13-docker系列-docker之harbor仓库的搭建相关的知识,希望能为你提供帮助。
??声明:本文乃“运维家”原创,转载请注明出处,更多内容请关注公众号“运维家”。??



??主旨??
随着我们业务量的增大,我们自己构建的镜像难道只放到服务器本身上面嘛?我们如何存放我们自己的镜像呢,如何分享给小伙伴我们的镜像呢?要知道docker官网在国外,仓库也是,那么访问就慢,而且安全性也很重要,这样的情况我们就很有必要搭建一个属于我们自己的harbor仓库,这玩意儿就是用来存放docker镜像的。


harbor仓库包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。


??环境??
?PS:以下环境在之前的文章中都有写如何进行安装并使用,需要的话请查看往期文章。?

linux环境
docker环境
docker-compose环境



??软件下载??
harbor搭建,需要单独从github上面下载离线安装包,网络太慢,这里可以在公众号  “运维家” 后台回复 “harbor” ,即可获取下载地址。


??上传解压??
[yunweijia@localhost ~]$ mkdir -pv docker/harbor
mkdir: 已创建目录 "docker/harbor"
[yunweijia@localhost ~]$ cd !$
cd docker/harbor
[yunweijia@localhost harbor]$ ls
harbor-offline-installer-v1.10.10.tgz
[yunweijia@localhost harbor]$ tar xf harbor-offline-installer-v1.10.10.tgz
[yunweijia@localhost harbor]$ ls
harborharbor-offline-installer-v1.10.10.tgz
[yunweijia@localhost harbor]$



??配置修改??
[yunweijia@localhost harbor]$ cd harbor/
[yunweijia@localhost harbor]$ pwd
/home/yunweijia/docker/harbor/harbor
[yunweijia@localhost harbor]$ ls
common.shharbor.v1.10.10.tar.gzharbor.ymlinstall.shLICENSEprepare
[yunweijia@localhost harbor]$ vim harbor.yml
# 修改主机名,可以是域名或者IP地址,但是不可以使用 localhost 和 127.0.0.1
hostname: 192.168.112.130

http:
# 访问端口号,默认是80,这里我就按照默认的来
port: 80

# 这里是https访问方式,因为我这里不配置证书,故而这里需要注释掉
# 不然会报错,不使用https,就把他们注释掉
# https:
# https默认访问443,也可以使用其他端口
# port: 443
# 两个配置授权文件的路径
# certificate: /your/certificate/path
# private_key: /your/private/key/path

# 配置harbor用户admin的密码为 Yunweijia@123,默认是Harbor12345
harbor_admin_password: Yunweijia@123

# 数据库配置
database:
# 数据库root用户密码,默认是 root123 ,我修改成了yunweijia123
password: yunweijia123
# 空闲连接池中的最大连接数
max_idle_conns: 50
# 打开到数据库的最大连接数
max_open_conns: 100

# 数据存放地址,默认是data,我在这里修改成了 /home/yunweijia/docker/harbor/datadata_volume: /data
data_volume: /home/yunweijia/docker/harbor/data

# 日志存放地址,默认是 /var/log/harbor ,且200M就进行一次切割,可以自行修改
# 也可以修改日志级别,如果后期系统稳定之后,可以配置成error级别
log:

level: info
local:
rotate_count: 50

rotate_size: 200M
location: /home/yunweijia/docker/harbor/logs

# 输入:wq 保存退出
[yunweijia@localhost harbor]$
# 创建数据目录
[yunweijia@localhost harbor]$ mkdir /home/yunweijia/docker/harbor/data

# 创建日志目录
[yunweijia@localhost harbor]$ mkdir /home/yunweijia/docker/harbor/logs

[yunweijia@localhost harbor]$



??安装harbor??
[yunweijia@localhost harbor]$ pwd
/home/yunweijia/docker/harbor/harbor
[yunweijia@localhost harbor]$ ls
common.shharbor.v1.10.10.tar.gzharbor.ymlinstall.shLICENSEprepare
[yunweijia@localhost harbor]$ sudo ./install.sh
# 在这里需要默默的等待 ~~~

# 出现如下提示,就表示安装成功
? ----Harbor has been installed and started successfully.----
[yunweijia@localhost harbor]$



??开启防火墙端口??
[yunweijia@localhost harbor]$ sudo firewall-cmd --add-port=80/tcp --permanent
success
[yunweijia@localhost harbor]$ sudo firewall-cmd --reload
success
[yunweijia@localhost harbor]$ sudo firewall-cmd --list-port
80/tcp
[yunweijia@localhost harbor]$



??重启harbor??
[yunweijia@localhost harbor]$ pwd
/home/yunweijia/docker/harbor/harbor
[yunweijia@localhost harbor]$ sudo docker-compose down
[yunweijia@localhost harbor]$ sudo docker-compose up -d
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-portal ... done
Creating registryctl... done
Creating harbor-db... done
Creating redis... done
Creating registry... done
Creating harbor-core... done
Creating harbor-jobservice ... done
Creating nginx... done
[yunweijia@localhost harbor]$



        如果重启失败报错如下:
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:(iptables failed: iptables --wait -t nat -I DOCKER -i br-fec322c48afe -j RETURN: iptables: No chain/target/match by that name.

那么就需要我们重启docker,然后再使用上面的命令重启harbor即可。




??浏览器访问??
访问地址 http://192.168.112.130



默认用户名是admin,密码是我们在配置文件中进行修改的密码,我这里修改的是  Yunweijia@123,输入之后界面如下:



【13-docker系列-docker之harbor仓库的搭建】本文安装harbor至此结束,下面我们将介绍如何使用harbor,以及如何拉取上传镜像、权限划分等。

    推荐阅读