09-Harbor企业级镜像仓库安装部署

  Harbor是VMware公司开源的一个企业级Docker Registry项目,项目地址:https://github.com/goharbor/harbor 。

  Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率。虽然Harbor和Registry都是私有镜像仓库的选择,但是Harbor的企业级特性更强,因此也是更多企业级用户的选择。

  Harbor实现了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制,也常常和K8S中的namespace结合使用。此外,Harbor还提供了图形化的管理界面,我们可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。

 

1.下载离线安装包

这里选择版本为1.7.0,下载完成后传输到你的服务器上并解压:
sudo wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
sudo tar xf harbor-offline-installer-v1.7.0.tgz

 

2.安装好docker-compose来管理harbor的容器服务。

使用GitHub源
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
验证一下:
docker-compose --version

 

3.在解压的harbor目录中编辑harbor.cfg文件,修改一下hostname,其它的可以先不做配置:

hostname = 172.16.14.112

 

 4.修改完配置接下来在harbor目录下执行以下命令:

 ./prepare

 

5.然后再执行install这个shell脚本进行install:

./install.sh

出现successfully就表示安装成功了。

 

6.查看容器都正常启动了:

docker-compose ps

 

 

7.在浏览器输入http://172.16.14.112访问harbor,使用默认配置密码登录之后,可以看到如下管理界面:

 

 

8.新创建用户hejp:

 

 

9.创建一个test测试项目:

 

 

10.在另外一台客户机器上面推送镜像,先配置好信任来源,走http推送

编辑/etc/docker/daemon.json文件,添加harbor服务器ip:
{
        "insecure-registries" : [ "172.16.14.112" ]
}

 

11.把要推送的镜像打个tag

docker tag 172.16.14.112:5000/nginx:2.1 172.16.14.112/test/nginx:2.1

 

12.使用刚刚的hejp用户登录,然后执行推送镜像命令。

docker push 172.16.14.112/test/nginx:2.1

 

13.查看推送到harbor镜像:

 

 

14.在其他docker主机中把镜像pull下来,也是要先登录然后再执行pull命令

docker login 172.16.14.112
docker pull 172.16.14.112/test/nginx:2.1

 

15.退出我们的私有仓库

docker logout 172.16.14.112

 

16.如果想要继续更改harbor.cfg.配置,那么改完后需要重新初始化Harbor:

docker-compose down -v # 暂停Harbor实例群
./prepare  # 生成配置文件,根据 harbor.cfg 配置生成docker-compose文件。
docker-compose up -d  # 后台启动Harbor实例群

 

17.想要暂停和重启Harbor:

docker-compose  stop # 暂停 Harbor
docker-compose  start # 启动 Harbor

 

18.不用Harbor了,那么可以彻底删除Harbor的数据和镜像文件:

# 彻底地删除 Harbor 的数据和镜像
rm -r /data/database
rm -r /data/registry

 

遇到的问题1:执行install.sh

后很多报错,很多容器无法启动。兼容问题, 之前用的是1.10版本,降低版本到1.7就正常了。

 

 

遇到的问题2:安装完成后,登录一直显示账号密码报错,查看容器adminiserver一直在重启。

 

 

 

解决办法: /data目录下的secret文件都删除掉,应该是之前高版本harbor创建的,导致现在的harbor无权限访问这些文件。重启后然后服务就正常了。

 

posted @ 2020-06-12 11:11  hejp  阅读(268)  评论(0编辑  收藏  举报