LaoCat带你认识容器与镜像(番外一【Harbor】)

祝大家开工大吉呀,新的一年要有新的收获呀 ~

本章内容

搭建Docker镜像私仓Harbor,并配置Docker私仓。

本文实操全部基于Ubuntu 20.04
宿主机 => linux服务器本身
Harbor => 2.5.3

Docker系列文章之仓库篇就介绍了Docker有俩种类型的镜像仓库,一种是公有仓库、一种是私有仓库,今天我们补上系列的番外之一,Docker私有镜像仓库Harbor的搭建教程,相比于其他私有镜像仓库而言,Harbor有着自身的优势,提供了更好性能与安全的,可视化的界面,企业级的、丰富的功能等等。


前置准备工作

首先安装Harbor需要用到Docker-Compose,我们只需要到DaoCloud进行安装即可,这样避免了镜像下载慢、下载失败的问题等等,访问DaoCloud,复制下图命令到宿主机粘贴运行即可。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第1张图片
安装成功后执行命令docker-compose version,即可查看是否安装成功,docker-compose的命令大同小异于Docker,这个会再后续的章节进行展开,本章主要以Harbor为主。

接下来我们需要到HarborGithub仓库下载对应版本的源文件,文中版本是v2.5.3,采用的离线安装包,找到对应的版本后,点击对应安装包下载即可。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第2张图片
有下载慢的童鞋可以执行搜索解决,也可以采用wget的方式进行下载,如果下载也慢,推荐使用GitHub Proxy进行下载,复制下载地址到GitHub Proxy,然后点击下载后复制对应下载链接,如下图所示。

Harbor分为HttpHttps俩种安装方式,我们选择Https,用openssl申请的证书,在正式生产环境可以用各云厂商提供的域名与证书,创建对应存放证书的目录与数据目录,也可以不创建就在当前目录。

mkdir -p /ha/sec/cret /ha/data

进入到该目录我们准备生成对应的证书,我们这里准备用到的hostnameharbor1hostname需要指向宿主机ip,当然你可以用任意hostname,但是需要注意下方命令也需要对应的更改,执行相关命令。

# 生成CA证书 这里是365天
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -subj "/CN=harbor1" -days 365 -out ca.crt
# 生成harbor主机证书申请
openssl req -newkey rsa:4096 -nodes -sha256 -subj "/CN=harbor1" -keyout harbor1.key -out harbor1.csr
# 颁发证书到harbor主机
openssl x509 -req -in harbor1.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor1.crt

可以看到对应目录下生成的证书,这个会再配置阶段用到。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第3张图片


配置阶段

我们执行命令tar -zxvf harbor-offline-installer-v2.5.3.tgz,将下载下来的Harbor离线安装包进行解压,解压后得到的目录中不存在harbor.yml,我们需要执行命令cp harbor.yml.tmpl harbor.yml,复制一份模板生成配置文件,编辑配置文件,进行相应的更改。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第4张图片
hostname更改为生成证书时用到的hostname,将证书与私钥进行相应的配置即可,然后我们修改对应的密码与数据目录,密码和数据目录都可以不进行修改,当然我喜欢修改后好方便自己把控。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第5张图片
配置完Harbor的配置文件,我们还需要将刚刚的hostname配置到对应的hosts文件中,编辑hosts文件,配置宿主机ip到hostname
LaoCat带你认识容器与镜像(番外一【Harbor】)_第6张图片


安装阶段

接下来就比较简单了,只要上边的准备阶段和配置阶段没有问题,我们只需要执行以下命令,耐心等待即可。

./prepare 
./install.sh

LaoCat带你认识容器与镜像(番外一【Harbor】)_第7张图片
出现该信息,代表安装成功,我们访问配置好的路径进行访问Harbor
LaoCat带你认识容器与镜像(番外一【Harbor】)_第8张图片
使用初始账号密码登录,admin\配置文件中的密码,登录后即可看到对应页面,恭喜你,证明Harbor已经安装成功。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第9张图片


配置Docker私仓

我们修改Docker配置文件,vim /etc/docker/daemon.json,新增如下"insecure-registries": ["192.168.1.98:443"],ip为自己宿主机的ip,前边访问地址。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第10张图片
因为是Https方式配置并安装的Harbor,故Docker登录需要进行额外配置,在Docker目录下新建文件夹mkdir -p certs.d/<你的hostname>/,并将对应证书复制到该目录下,执行命令如下。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第11张图片
然后重启Dockersystemctl daemon-reloadsystemctl restart docker

执行Docker登录。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第12张图片


验证Harbor私仓

我们在Harbor创建一个项目,将之前章节的nginx,重新打一个tag,并执行上传。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第13张图片
LaoCat带你认识容器与镜像(番外一【Harbor】)_第14张图片
然后查看对应项目中是否存在该镜像。
LaoCat带你认识容器与镜像(番外一【Harbor】)_第15张图片
是我们刚刚上传的镜像,恭喜你,你已经学会如何使用Docker的私仓Harbor了。


☆ 参考文献:
【搭建docker私有仓库:Harbor,版本:v2.4】
https://blog.csdn.net/qq_39677803/article/details/122324075

◎ 文中所用到的资源链接:
【DaoCloud | 安装Docker Compose】
https://get.daocloud.io/#install-compose
【Harbor v2.5.3】
https://github.com/goharbor/harbor/releases

你可能感兴趣的:(docker,golang,docker,github,linux,harbor)