搭建harbor

1.简介

  Harbor(港湾)是一个用于存储Docker镜像的企业级Registry服务,提供了可视化的界面

  我们这里选择安装harbor-v2.7.0

 

2.环境安装

  我的服务器:CentOS(192.168.232.129)        要求:至少 2G-CPU  40G-硬盘

  安装harbor需要先安装Docker和Docker Compose(Docker的容器编排工具)

  2.1 安装Docker

    安装之前,要注意一下harbor-v2.7.0版本,要求Docker版本17.06.0+

    如果当前版本低于这个版本,需要安装高版本Docker

    先更新一下yum:

yum update

    yum仓库添加阿里云docker资源(正常无需额外添加,当yum找不大坡docker资源的情况下添加):

curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

    如果已经安装过了,查询一下版本信息:

一些查看命令:
docker
--version rpm -qa | grep docker #通过yum安装的Docker,可用这样查相关安装组件

    我本地查询结果如图:  

    

     删除干净,重新安装Docker

yum remove docker docker-common docker-client docker-compose-plugin  #删除干净
yum list docker-ce --showduplicates | sort -r  #查看可用docker版本
yum install -y docker-ce-18.06.0.ce-3.el7  #指定版本安装Docker

  2.2 安装Docker Compose

    这是Docker的容器编排工具,通过.yml文件进行容器编排

yum install -y docker-compose  #compose目前没有版本冲突,直接装即可
docker-compose --version

 

3.Harbor 安装

  到Harbor官网下载最新版本,这里选择V2.7.0 离线安装版

  这个官网是海外地址,很容易下载不下来,建议下载到本地后,再上传到服务器。

  下载地址:

https://github.com/goharbor/harbor/releases/download/v2.7.0/harbor-offline-installer-v2.7.0.tgz

  

  我的存放目录:

/mysoft/harbor-offline-installer-v2.7.0.tgz

  解压

tar xvzf harbor-offline-installer-v2.7.0.tgz

  更改harbor.yml文件

  

  我们会发现,harbor/只有harbor.yml.tmp1,需要copy一下

cp harbor.yml.tmp1 harbor.yml

  根据自己的需求进行配置更改,至少需要修改hostname为服务器IP/域名,不启动https的话记得注销相关配置,如图

  

  完成修改!!!

  进行harbor 安装,再harbor目录下,执行

./install.sh

  正常完成后,会下载相关镜像和启用容器服务

   

  如果无法成功启动,界面会打印错误信息,根据信息进行调整,我就遇到step5 启动harbor失败的情况,手动启动后成功了,命令如下

  查看harbor运行状态(在harbor目录下执行命令)

docker-compose ps #查看harbor容器运行情况
docker-compose down -v #停止harbor
docker-compose up -d #启动harbor

  访问Harbor

  

  Success 

 4.测试Harbor

  4.1用户服务器

    新创建一个用户服务器(192.168.232.128),安装好Docker环境,

    并pull一个镜像,或者自己build一个镜像

    (我这里是使用自己build的.net core3.x项目的镜像,操作方法见链接,镜像命名:myapi:V1.0)

  4.2Harbor项目配置

    使用admin登录,密码在harbor.yml

    用户管理新建一个用户:kxy,用户&密码自定  (PS:提供给服务器128访问Harbor使用)

      

    创建项目:v5,名字自定

      

    并将kxy添加为项目管理员

      

   4.3服务器128登录Harbor

[root@localhost /]# docker login 192.168.232.129:80  #不添加端口号会默认https:443
Username: kxy
Password: 

  4.3.1一些有可能发生的错误

  1)

Error response from daemon: Get https://192.168.232.129/v1/users/: dial tcp 192.168.232.129:443: connect: no route to host

  提示错误,需要添加一个守护进程注册表配置

vim /etc/docker/daemon.json
添加:"insecure-registries": ["192.168.232.129:80"]   #切记,一定要带端口号,即使是默认的80

  重启Docker

systemctl daemon-reload
systemctl restart docker

  2)

502 Bad Gateway

  重启Harbor

=======================================

  重新登录

[root@localhost /]# docker login 192.168.232.129:80
Username: kxy
Password: 
Login Succeeded

  4.4服务器128推送镜像到Harbor

    标识:将最开始准备的镜像myapi:V1.0修改tag,加上host和项目信息(记住得加上端口号,不然推送不了)

docker tag myapi:V1.0 192.168.232.129:80/v5/myapi:V1.0

    推送

[root@localhost /]# docker push 192.168.232.129:80/v5/myapi:V1.0
The push refers to a repository [192.168.232.129:80/v5/myapi]
179031435579: Pushed 
96ff0c972f5f: Pushed 
266e43c7bdef: Pushed 
5ed447f74cec: Pushed 
dc4e06b0c38e: Pushed 
d1797c74036a: Pushed 
7b6f75f8765b: Pushed 
V1.0: digest: sha256:aa17430493c7b1dd7c1ba0c5bdff2abb1d3e5c1480435176f93540fb4cd56388 size: 1791

  完成!!

  

  4.5尝试拉取

docker rmi 192.168.232.129:80/v5/myapi:V1.0   #先删除
docker pull 192.168.232.129:80/v5/myapi:V1.0   #再拉取

 

  感谢关注!!!

  

posted @ 2019-09-26 15:43  wskxy  阅读(473)  评论(0编辑  收藏  举报