前言
在使用jenkins作为自动化部署(CI/CD)应用时,我们在此期间将maven打包好的项目jar包制作成Docker镜像,然后在推送到一个Docker镜像私有仓库(Harbor)。其他部署服务器从Harbor中拉取镜像,然后启动容器即可。这篇文章我们就简单介绍Harbor的安装,卸载和基本使用教程
卸载
为什么我要记录卸载呢?因为我在写这篇安装教程时,我将系统中harber相关文件全删除了(rm -rf $(find / -name harbor) ),然后再执行安装harbor时就出现一些莫名其妙的错,可能会出现下图: 
删除harbor相关的目录及文件
$ rm -rf `find / -name harbor`
删除docker中有关harbor的镜像及容器
如果你执行过harbor目录下的./install.sh 那么docker中就会存在一些进行和容器,所以我们需要先将容器停止,然后再执行删除   我这里是因为docker里的容器和镜像都只是harbor的,所以我这里删除的就是docker里的全部数据,您可以根据你实际情况进行逐行删除harbor的镜像和容器。具体命令如下:
$ docker stop `docker ps - q`
$ docker rm `docker ps -qa`
$ docker rmi `docker images -q`
删除成功,再执行安装命令
$ cd harbor
$ ./install.sh
下载
在官网可以看见。安装Harbor需要安装Docker、Docker Compose 安装、Openssl。且在下载安装时需要注意版本  GitHub上下载 harbor-offline-installer-vxxx.tgz,因为浏览器装有GitHub加速插件,所以下载会快很多。将其下载到本地后,在推送到服务器上。  
解压安装
解压tar文件
tar -zxvf harbor-offline-installer-v2.3.3.tgz
配置Harbor
进入解压目录,配置harbor
cd harbor/
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
修改以下内容然后保存退出
hostname: 192.168.31.169
http:
port: 85
harbor_admin_password: harbor12345
data_volume: /harbor/data
执行安装脚本
执行脚本
$ ./install.sh
安装时出现的问题及解决方法
注意解决完问题继续执行./install.sh 。
如果出现下图的错误,只需要重启Docker即可(systemctl restart docker )  如果出现下图的错误,只需要根据提示创建文件即可(mkdir /var/log/harbor )  如果出现下面的错误,那么就请先按照上面的卸载教程,先将harbor进行卸载然后再执行安装。 
使用
页面
浏览器输入在harbor.yml 页面配置的 hostname 及 http.port 的值访问,我根据上面的配置访问http:192.168.31.169:85 就能看见登陆页面,使用用户名(admin)和密码(Harbor12345)登录 
创建项目及账号
Created with Rapha?l 2.3.0
登录管理员账户
创建一个用户
创建一个项目
将用户添加到项目,并设置为维护人员角色
- 创建一个用户
- 创建一个项目,将该用户添加到项目成员中,并设置维护人员角色
- 登录该用户,查看新创建的项目
注意:如果别的机器使用命令行连接harbor(docker login http://129.168.31.196:85 ),那么那台机器必须额外设置下
$ systemctl status docker
....
$ cp /usr/lib/systemd/system/docker.service /usr/lib/systemd/system/docker.service.bak
$ vim /usr/lib/systemd/system/docker.service
[Service]
....
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry=192.168.31.196:85
....
$ systemctl daemon-reload
$ systemctl restart docker
$ docker login http://192.168.31.196:85
$ docker logout
 
|