祝大家开工大吉呀,新的一年要有新的收获呀 ~
本章内容
搭建Docker镜像私仓Harbor,并配置Docker私仓。
本文实操全部基于Ubuntu 20.04
宿主机 => linux服务器本身
Harbor => 2.5.3
Docker系列文章之仓库篇就介绍了Docker
有俩种类型的镜像仓库,一种是公有仓库、一种是私有仓库,今天我们补上系列的番外之一,Docker私有镜像仓库Harbor
的搭建教程,相比于其他私有镜像仓库而言,Harbor
有着自身的优势,提供了更好性能与安全的,可视化的界面,企业级的、丰富的功能等等。
前置准备工作
首先安装Harbor
需要用到Docker-Compose
,我们只需要到DaoCloud
进行安装即可,这样避免了镜像下载慢、下载失败的问题等等,访问DaoCloud
,复制下图命令到宿主机粘贴运行即可。
安装成功后执行命令docker-compose version
,即可查看是否安装成功,docker-compose
的命令大同小异于Docker
,这个会再后续的章节进行展开,本章主要以Harbor
为主。
接下来我们需要到Harbor
的Github
仓库下载对应版本的源文件,文中版本是v2.5.3
,采用的离线安装包,找到对应的版本后,点击对应安装包下载即可。
有下载慢的童鞋可以执行搜索解决,也可以采用wget
的方式进行下载,如果下载也慢,推荐使用GitHub Proxy
进行下载,复制下载地址到GitHub Proxy
,然后点击下载后复制对应下载链接,如下图所示。
Harbor
分为Http
与Https
俩种安装方式,我们选择Https
,用openssl
申请的证书,在正式生产环境可以用各云厂商提供的域名与证书,创建对应存放证书的目录与数据目录,也可以不创建就在当前目录。
mkdir -p /ha/sec/cret /ha/data
进入到该目录我们准备生成对应的证书,我们这里准备用到的hostname
为harbor1
,hostname
需要指向宿主机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
可以看到对应目录下生成的证书,这个会再配置阶段用到。
配置阶段
我们执行命令tar -zxvf harbor-offline-installer-v2.5.3.tgz
,将下载下来的Harbor
离线安装包进行解压,解压后得到的目录中不存在harbor.yml
,我们需要执行命令cp harbor.yml.tmpl harbor.yml
,复制一份模板生成配置文件,编辑配置文件,进行相应的更改。
hostname
更改为生成证书时用到的hostname
,将证书与私钥进行相应的配置即可,然后我们修改对应的密码与数据目录,密码和数据目录都可以不进行修改,当然我喜欢修改后好方便自己把控。
配置完Harbor
的配置文件,我们还需要将刚刚的hostname
配置到对应的hosts
文件中,编辑hosts
文件,配置宿主机ip到hostname
。
安装阶段
接下来就比较简单了,只要上边的准备阶段和配置阶段没有问题,我们只需要执行以下命令,耐心等待即可。
./prepare
./install.sh
出现该信息,代表安装成功,我们访问配置好的路径进行访问Harbor
。
使用初始账号密码登录,admin\配置文件中的密码,登录后即可看到对应页面,恭喜你,证明Harbor
已经安装成功。
配置Docker私仓
我们修改Docker
配置文件,vim /etc/docker/daemon.json
,新增如下"insecure-registries": ["192.168.1.98:443"]
,ip为自己宿主机的ip,前边访问地址。
因为是Https
方式配置并安装的Harbor
,故Docker
登录需要进行额外配置,在Docker
目录下新建文件夹mkdir -p certs.d/<你的hostname>/
,并将对应证书复制到该目录下,执行命令如下。
然后重启Docker
,systemctl daemon-reload
、systemctl restart docker
。
执行Docker
登录。
验证Harbor私仓
我们在Harbor
创建一个项目,将之前章节的nginx
,重新打一个tag,并执行上传。
然后查看对应项目中是否存在该镜像。
是我们刚刚上传的镜像,恭喜你,你已经学会如何使用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