docker私有库Harbor的搭建和应用

一、常见的docker私有库

  常见的docker私有库有:Portus、Harbor、AppHouse等。其中,Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能,本教程主要就是讲解Harbor的安装步骤和使用方法。

二、Harbor安装步骤
1、环境准备

安装Harbor之前,需要预先安装需要的其他软件,根据官方文档可以看出,需要以下三个:
docker私有库Harbor的搭建和应用_第1张图片

  • Docker engine 安装
    docker的安装参考《CentOS7.0环境安装docker》
  • Docker Compose 安装
  1. Github源
sudo curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. Daocloud镜像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

也可以参考《官方安装教程》

  • Openssl 安装
    首先验证是否安装,如果没有安装通过下面命令安装即可。
yum install openssl
1、下载Harbor

Harbor提供了两种安装文件,

  • Harbor offline installer 离线安装

  • Harbor online installer 在线安装

Harbor下载传送门

本教程使用的Harbor版本:
在这里插入图片描述

2、把压缩包放到CentOS系统的指定目录,并解压
tar xvf harbor-offline-installer-v1.9.1.tgz 

解压后:
在这里插入图片描述

3、修改配置文件

修改harbor.yml配置文件中的hostname参数,其他的都使用默认配置。
docker私有库Harbor的搭建和应用_第2张图片

4、安装启动

通过下面命令进行启动harbor。当命令执行完成,出现下图的界面时,说明启动成功了,这个时候可以通过浏览器访问:192.168.1.8,打开管理界面。

./install.sh

注:执行该命令的时候,需要保证docker已经启动。否则会出现报错:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?。启动docker的命令 systemctl start docker。

docker私有库Harbor的搭建和应用_第3张图片
docker私有库Harbor的搭建和应用_第4张图片

5、登录Harbor管理界面

Harbor管理界面,默认的用户名:admin,密码:Harbor123456。如果在进行harbor.yml配置文件修改时,修改了相关配置,就需要使用相关参数进行登录。
docker私有库Harbor的搭建和应用_第5张图片

三、应用
1、创建Harbor用户

docker私有库Harbor的搭建和应用_第6张图片

2、创建Harbor项目

docker私有库Harbor的搭建和应用_第7张图片

3、添加项目用户

docker私有库Harbor的搭建和应用_第8张图片

4、查看仓库推送命令

docker私有库Harbor的搭建和应用_第9张图片

5、推送下面选中的镜像推送到私有仓库。

具体操作请参考《docker常用命令》。

  1. 首先登录(私有类型的仓库需要)
    如果仓库是私有的话,需要登录,否则会出现如下提示:
    在这里插入图片描述
    登录命令:
    ip地址对应的是仓库地址,-u参数对应的是用户名。
docker login 192.168.1.8 -u=hsh

执行命令后,再输入密码,即可登录,如下图所示。
在这里插入图片描述
3. 重命名镜像

docker tag goharbor/nginx-photon:v1.9.1 192.168.1.8/test/nginx-photon:v-test

docker私有库Harbor的搭建和应用_第10张图片
执行重命名命令后,多了一个镜像记录。
docker私有库Harbor的搭建和应用_第11张图片2. 推送镜像到私有库

执行下列命令,出现下图所示,说明镜像推送成功。

docker push 192.168.1.8/test/nginx-photon:v-test

在这里插入图片描述
docker私有库Harbor的搭建和应用_第12张图片

四、常见问题

1、推送镜像到私有库时,出现如下报错:

The push refers to repository [192.168.1.8/test/nginx-photon]
Get https://192.168.1.8/v2/: dial tcp 192.168.1.8:443: getsockopt: connection refused
发生原因:

Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

解决方案:

增加启动参数,默认使用HTTP访问。具体步骤:

  1. 通过下面命令修改配置
 vim /usr/lib/systemd/system/docker.service
  1. 增加参数
    增加下列参数即可,其中IP地址是Harbor部署的服务器所在的IP。
--insecure-registry IP

docker私有库Harbor的搭建和应用_第13张图片
3. 刷新参数、重启服务

systemctl daemon-reload 

systemctl restart docker
五、参考文档:

1、《Docker 私有仓库方案比较与搭建》
2、《Harbor官方教程》
3、 《推送镜像异常问题解决》

你可能感兴趣的:(DevOps)