centos搭建docker镜像Harbor仓库的简明方法

在kubernetes集群中如果要部署springcloud这样的应用,就必须有一个自建的docker镜像中心仓库。

它的目的有两点: 1. 镜像拉取速度快  2. 开发好维护

而Harbor是一个非常好用的docker本地仓库

所以本篇文章来讲讲如何在部署Harbor仓库

首先系统版本最低要求:

System requirements:

On a Linux host: docker 17.06.0-ce+ and docker-compose 1.18.0+ .

centos搭建docker镜像Harbor仓库的简明方法_第1张图片

 也就是docker版本要大于17.06.0-ce+ , docker-compose版本要大于 1.18.0+ 。

否则没法安装。

docker升级方法: 

先卸载:

yum remove docker \
                 docker-client \                   

                  docker-client-latest \
                  docker-common \
                   docker-latest \
                   docker-latest-logrotate \
                   docker-logrotate \
                   docker-engine
 

再重新安装

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin

 docker-compose最好通过pip安装(这样能自动解决依赖问题)

python3通常会自带pip, 如果是python 2, 则这样安装pip

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

python get-pip.py

然后pip安装 docker-compose

pip install docker-compose

 这些重要依赖安装以后,然后到harbor官网下载安装包:Releases · goharbor/harbor · GitHub

 centos搭建docker镜像Harbor仓库的简明方法_第2张图片

 下载harbor安装包

 proxychains4 wget https://github.com/goharbor/harbor/releases/download/v2.9.1/harbor-offline-installer-v2.9.1.tgz  

// 注意:我这里使用了proxychains4加速下载,具体用法可以自行搜索

 然后解压安装包:

centos搭建docker镜像Harbor仓库的简明方法_第3张图片

tar -xvf harbor-offline-installer-v2.9.1.tgz

 进入安装目录

cd harbor

 生成自建ssl证书:

#创建证书目录

mkdir sslcert 

cd sslcert

#执行创建证书脚本

./gencert.sh

 以下是创建证书脚本的内容

#!/bin/bash
domain="registry.myharbor.com"  # 此处写harbor仓库的自定义域名
rm -f ca*  ${domain}.* full_chain*
echo "开始生成证书------------"
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key \
  -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=MyCA" \
  -x509 -days 36500 -out ca.crt

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ${domain}.key \
  -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=${domain}" \
  -out ${domain}.csr

openssl x509 -req -in ${domain}.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ${domain}.crt -days 36500

鉴于docker信任自建证书的方法没什么卵用,所以这里就不再拷贝证书到/etc/docker/certs.d/域名目录了,因为确实没有什么鸟用。

然后修改harbor.yml.tmpl文件

centos搭建docker镜像Harbor仓库的简明方法_第4张图片

 然后修改该文件的下面三处内容:

1. harbor仓库域名

2. 指定自建http证书和key的路径

3. 指定harbor仓库的管理员密码(docker push的时候会用到)

centos搭建docker镜像Harbor仓库的简明方法_第5张图片
 然后把harbor.yml.tmpl重命名为harbor.yml,

 cp harbor.yml.tmpl harbor.yml

 记住:这一步很重要,否则后面会报错:no config file: /opt/harbor/harbor.yml

centos搭建docker镜像Harbor仓库的简明方法_第6张图片

 然后开始安装harbor:

./install.sh

centos搭建docker镜像Harbor仓库的简明方法_第7张图片

centos搭建docker镜像Harbor仓库的简明方法_第8张图片

 至此harbor仓库安装完成,此时harbor仓库已经启动。

可以通过自定义域名访问harbor仓库:

centos搭建docker镜像Harbor仓库的简明方法_第9张图片

 注意:因为harbor是通过docker-compose管理的,所以以下是docker-compose管理harbor的命令

// 切换到harbor的安装目录

docker-compose up -d  // 启动harbor并在后台运行 (harbor没有启动时候执行该命令)

docker-compose down // 删除所有harbor容器

docker-compose restart // 重启所以harbor容器

docker-compose stop   // 停止所有harbor容器

docker-compose start // 启动所以已停止的harbor容器

你可能感兴趣的:(docker仓库,Harbor)