harbor镜像仓库安装并配置https

harbor镜像仓库安装并配置https

背景

由于业务需要使用docker发布项目,使用dockhub相对不安全,所以需要搭建自己的一套镜像仓库。这里选用了目前主流的harbor作为私有镜像仓库。由于网上的安装教程大多是老版本的,安装过程中踩了不少坑,截止到目前最新版本为1.9.2,这里就以1.9.2版本为例安装harbor,并配置https访问。

第一步:安装docker-compose

首先需要安装docker,参考我的另一篇文章:http://hcwei.cn/?p=463
最新版harbor使用docker-compose安装,所以需要先安装docker-compose,由于github下载较慢,我们这里使用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

第二步:下载harbor-1.9.2

harbor的github地址:https://github.com/goharbor/harbor/releases

如果服务器无法连接外网可以下载离线安装包,我这里演示的是在线安装。

wget https://github.com/goharbor/harbor/releases/download/v1.9.2/harbor-online-installer-v1.9.2.tgz
tar xzf harbor-online-installer-v1.9.2.tgz

第三步:修改harbor.yml

在正式安装前需要根据自己的需求修改配置文件。在老版本中使用的是harbor.cfg文件,这也是大部分网上教程给的配置方法,所以新手用户会感觉很坑。harbor常用配置如图:

第四步:http方式安装

由于harbor默认使用http方式,所以使用默认配置即可。

cd harbor
./prepare
docker-compose up -d

第五步:https方式安装

使用https需要配置证书,这里需要先生成https证书,为了免去不必要的麻烦,我这里使用的是阿里云免费证书。直接使用openssl创建也可以,但是访问会有安全提示。具体如何申请阿里云免费证书这里就不贴出了。

将证书下载上传至服务器,我这里放在/root/ca文件夹下,我这里假设证书的域名为harbor.xxxxx.cn,并配置好dns,修改harbor.yml配置,如图:

配置完成后需要停掉老的http项目

docker-compose down

然后重新部署

cd harbor
./prepare
docker-compose up -d

现在就可以使用浏览器访问:https//harbor.xxxxx.cn,输入用户名:admin,密码:Harbor12345即可登录。

第六步:上传下载镜像

如果项目属于私有项目需要先登录

docker login {Harbor地址}:{端口}

①.标记镜像

docker tag {镜像名}:{tag} {Harbor地址}:{端口}/{Harbor项目名}/{自定义镜像名}:{自定义tag}

②.上传镜像

docker push {Harbor地址}:{端口}/{自定义镜像名}:{自定义tag}

③.下载镜像

docker pull {Harbor地址}:{端口}/{自定义镜像名}:{自定义tag}
hcwei