搭建Docker镜像仓库Harbor

Harbor是一款开源的Docker镜像存储仓库,其扩展了Docker Distribution,在此基础上添加了我们常用的功能,比如安全认证,RBAC用户权限管理,可视化页面操作等功能。Harbor还支持多个Harbor仓库间的相互拷贝,以实现Docker镜像仓库的高可用。这节我们在CentOS虚拟机(192.168.33.11)上搭建个单机版的Harbor体验一下。

安装Harbor

在Harbor的GitHub仓库:https://github.com/goharbor/harbor/releases下载离线版本(offline),我选择的版本是1.8.4:

QQ截图20191114145009.png

下载后,将压缩包harbor-offline-installer-v1.8.4.tgz上传到192.168.33.11服务器上:

QQ截图20191114164739.png

解压压缩包:

QQ截图20191114150144.png

修改Harbor配置文件:

QQ截图20191114150253.png

将hostname修改为宿主机IP即可:

QQ截图20191114150354.png

然后执行当前目录下的install.sh脚本进行安装。

安装过程中出现如下错误:

QQ截图20191114150640.png

根据https://docs.docker.com/compose/install/安装docker compose后重新执行install.sh脚本。

出现如下信息时,安装成功:

QQ截图20191114151457.png

使用浏览器访问http://192.168.33.11/地址,可以看到Harbor的管理界面:

QQ截图20191114151916.png

默认的用户名密码为:admin,Harbor12345,登录后:

QQ截图20191114152147.png

为了后续推送镜像方便,我们需要给192.168.33.11配置域名,添加hosts解析:

1
192.168.33.11 docker.mrbird.cc

创建用户和项目

http://192.168.33.11/Harbor管理界面下新增一个用户:

QQ截图20191114154608.png

QQ截图20191114154646.png

然后新增一个项目:

QQ截图20191114154755.png

QQ截图20191114154830.png

在该项目下添加刚刚创建的mrbird用户:

QQ截图20191114155249.png

QQ截图20191114155318.png

接着在192.168.33.11上进行登录:

QQ截图20191114170510.png

用户名和密码就是刚刚在控制台创建的mrbird用户和密码。但是登录失败了,要登录到http docker仓库,需要添加一些配置:

1
vim /etc/docker/daemon.json

添加如下内容:

QQ截图20191114170718.png

重启docker:

1
sudo service docker restart

然后重新登录即可:

QQ截图20191114171254.png

测试镜像推拉

拉取nginx:1.17.5镜像:

1
docker pull nginx:1.17.5

打标签:

1
docker tag nginx:1.17.5 docker.mrbird.cc/febs/nginx:1.17.5

标签格式为[docker仓库域名]:[项目名称]:[镜像]。

将docker.mrbird.cc/febs/nginx:1.17.5推送到Harbor:

1
docker push docker.mrbird.cc/febs/nginx

回到Harbor控制台,可以看到在febs项目下已经存在一个nginx镜像:

QQ截图20191114171855.png

在192.168.33.12服务器上添加docker.mrbird.cc的解析,然后拉取刚刚的镜像,看看是否成功:

1
docker pull docker.mrbird.cc/febs/nginx:1.17.5

QQ截图20191114172154.png

拉取成功。

请作者喝瓶肥宅水~

TOP