harbor在整个持续集成中起着还算重要的作用,这东西以我个人的看法来说其实就是一个类似于gitlab的管理仓库,只不过gitlab管理源码项目,harbor管理docker镜像,部署简单,使用起来也简单。
#
准备一台docker服务器安装harbor仓库,再准备一台docker服务器作为安装完成后的测试机
我这里是:
192.168.5.10 harbor仓库
192.168.5.11 docker服务器
#
第一步:
两台机子都安装docker(这是基础,应该都会,这里就不讲解了)
#
第二步:
harbor服务器安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
再加个执行权限
sudo chmod +x /usr/local/bin/docker-compose
检查docker-compose是否安装完成
下载Harbor
wget -c https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.2.tgz
下载完成后解压
tar -xzf harbor-offline-installer-v1.8.2.tgz
mkdir /opt/harbor
mv harbor/* /opt/harbor
cd /opt/harbor
安装前修改配置文件
vi harbor.yml
hostname: 192.168.5.10 #这台机子是安装harbor的机子
port: 85 #端口随意,防火墙记得放行
安装Harbor
./prepare
./install.sh
启动harbor
docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动
#
访问界面,默认账号admin/Harbor12345
http://192.168.5.10:85
#
登陆后按情况建一个项目
建个私有的项目
现在有项目了,还需要给这个项目安排成员,比如有个开发,名叫hello,密码我这边设置成Hello123456
把这个开发hello加入到刚刚创建的hello项目中,角色那部分根据具体情况选择
这样hello这个开发人员就可以访问操作hello这个项目了
#
打开hello项目,正常来说新建项目里面是没有任何镜像库的
#
接下来登录另一台docker服务器,把Harbor加入信任列表中
vi /etc/docker/daemon.json
"insecure-registries": ["192.168.5.10:85"] #加入一条harbor仓库
#
保存退出后,重启docker,接下来开始测试,由于是刚准备的机子上面还没有上传镜像,我就先到dockerhub拉一个nginx镜像作为测试镜像
docker pull nginx
#
给这个nginx镜像打个标签
docker tag nginx 192.168.5.10:85/hello/nginx_harbortest
#
现在要将这个nginx_harbortest镜像上传到harbor仓库的hello项目下,可以看到hello项目下有两个成员,分别是admin和hello
#
用hello账号登录docker
docker login -u hello -p Hello12345 192.168.5.10:85
#
登录成功后直接将这个镜像push上去
docker push 192.168.5.10:85/hello/nginx_harbortest
#
去harbor仓库看看,可以看到镜像已经被推上来了
#
下载镜像也很简单
先登录
docker login -u hello -p Hello12345 192.168.5.10:85
直接pull即可
docker pull 192.168.5.10:85/hello/nginx_harbortest
#