13-docker系列-docker之harbor仓库的搭建
Posted 公号运维家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
harbor harbor-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.sh harbor.v1.10.10.tar.gz harbor.yml install.sh LICENSE prepare
[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.sh harbor.v1.10.10.tar.gz harbor.yml install.sh LICENSE prepare
[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,输入之后界面如下:
本文安装harbor至此结束,下面我们将介绍如何使用harbor,以及如何拉取上传镜像、权限划分等。
以上是关于13-docker系列-docker之harbor仓库的搭建的主要内容,如果未能解决你的问题,请参考以下文章
14-docker系列-docker之harbor仓库的使用
系列CentOS 7.3 离线安装(无网络环境)CI CD环境之harbor