docker私有仓库管理系统harbor的部署使用

docker 镜像仓库 Harbor 部署 跨数据复制

Harbor 是 Vmwar 公司开源的 企业级的 Docker Registry 管理项目

它主要 提供 Dcoker Registry 管理UI,可基于角色访问控制, AD/LDAP 集成,日志审核等功能,完全的支持中文。

Harbor 的所有组件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。

注: 由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必须 > = 1.10.0 docker-compose >= 1.6.0

开源项目地址:https://github.com/vmware/harbor

一、harbor管理界面的部署安装

1、进入到GitHub下载官方harbor文件,下载链接地址为:https://github.com/vmware/harbor/releases,我下载了1.11版本使用

2、harbor需要安装docker和docker-compose才能使用,安装docker步骤省略,docker-dompose安装步骤如下:

#yum install python-pip

#pip install docker-compose

3、解压缩下载好的harbor文件,cd harbor,修改docker-compose.yml和harbor.cfg两个文件,其中

docker-compose.yml主要修改registry容器参数,在network下增加如下图中框内的内容:


docker私有仓库管理系统harbor的部署使用_第1张图片

4、harbor.cfg只需要修改hostname为你自己的机器IP或者域名,harbor默认的db连接密码为root123,可以自己修改,也可以保持默认,harbor初始管理员密码为Harbor12345,可以根据自己需要进行修改,email选项是用来忘记密码重置用的,根据实际情况修改,如果使用163或者qq邮箱等,需要使用授权码进行登录,此时就不能使用密码登录了,会无效的(qq使用授权码登录第三方邮箱客户端自行百度);

docker私有仓库管理系统harbor的部署使用_第2张图片


都修改完成之后,使用官方自带脚本更新参数,在harbor目录中执行./prepare,


docker私有仓库管理系统harbor的部署使用_第3张图片


5、接着在harbor目录下执行./install.sh命令即可,会自动导入镜像并启动对应的容器,待脚本跑完之后使用docke-compose ps即可查看,常用命令包含以下几个:

docker-compose up -d               ###后台启动,如果容器不存在根据镜像自动创建

docker-compose down   -v         ###停止容器并删除容器

docker-compose start                 ###启动容器,容器不存在就无法启动,不会自动创建镜像

docker-compose stop                 ###停止容器

注:其实上面是停止docker-compose.yml中定义的所有容器,默认情况下docker-compose就是操作同目录下的docker-compose.yml文件,如果使用其他yml文件,可以使用-f自己指定。

docker私有仓库管理系统harbor的部署使用_第4张图片

最后使用链接http://192.168.233.14(这是我自己的地址,你需要换成你自己的),输入用户名密码即可登录系统了。


docker私有仓库管理系统harbor的部署使用_第5张图片

二、使用私有仓库push和pull镜像(上传,拉取镜像)

1、docker默认是从官方拉取镜像的,并且从1.12版本之后,默认私有仓库是使用https来进行连接,所以我们这里需要进行一些相应的修改:

修改docker启动文件,在启动命令后加入参数:--insecure-registry 192.168.233.14:5000

docker私有仓库管理系统harbor的部署使用_第6张图片

然后使用systemctl daemon-reload一下,重启docker

2、使用docker命令对镜像打标签并且上传至私有仓库

docker打标签命令:docker tag centos:latest 192.168.233.14:5000/devil/centos:late

上面的命令的意思是将centos这个镜像的最新版latest打上标签,其中192.168.233.14:5000是仓库的地址,devil是仓库里创建的项目(可以网上看登录的界面截图,我创建了一个devil项目,项目分为公开和私有,公开项目不需要登录就可以进行拉取,私有的是需要登录以后才能拉取的,上传镜像都需要登录并且要有上传的权限才行),centos:latest是我自己取的名字和版本,可以跟原来的保持一致,也可以自己另外取名,比如centos:mytest,打完标签之后登录仓库并上传镜像:


进入web管理界面即可查看到我们最新上传的镜像了


docker私有仓库管理系统harbor的部署使用_第7张图片

3、拉取镜像很简单,因为我设置的是公开项目,直接docker pull 192.168.233.14:5000/devil/centos:latest即可


######################################更新镜像仓库复制#############################################

一个仓库的情况下如果镜像仓库挂了,那么所有的镜像也就没有了,所以最好是创建一个备份仓库,harbor提供了镜像仓库复制功能,可以很好的自动实现;创建2个harbor仓库,其中一个为主,另外一个为辅,登陆主仓库http:/IP,点击任意想要复制的仓库项目,然后复制,点击新疆规则,

名称、描述根据自己的实际随便填写,勾选启用,目标名为复制到辅仓库的目标名,需要存在,如果不存在可以勾选创建目标,url为辅仓库的harbor-ui的url,账户密码也是辅仓库账户密码,点击测试,测试成功代表没有问题了,然后就会自动复制了,从日志处可以看到复制的过程。


docker私有仓库管理系统harbor的部署使用_第8张图片

#https的启用

要启用https,那么ca证书必不可少,一般内网环境都是直接使用自建ca

#使用openssl自建ca,openssl的配置文件默认为/etc/pki/tls/openssl.cnf


docker私有仓库管理系统harbor的部署使用_第9张图片

#进入到CA目录下执行

#(umask 077; openssl genrsa -out private/cakey.pem 2048)

---括号中执行,代表使用子shell执行,不影响本机的umask值。

作为根 CA,可以生成一个自签名的证书,来标明自己的身份,签名方法如下

#openssl req -new -x509 -key private/cakey.pem -days 3655 -out cacert.pem

----会提示输入相关信息,不要随便乱写,其中Common Name一般填写为域名或者ip地址。

###开始生成服务证书

#openssl genrsa -out harbor.key 2048

###生成签名请求

#openssl req -new -key harbor.key -out harbor.csr

###使用ca证书签署请求

#openssl ca -in harbor.csr -out harbor.crt -days 3650

----提示信息选择yes就可以了

你可能感兴趣的:(docker私有仓库管理系统harbor的部署使用)