Harbor介绍
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以用来构建企业内部的Docker镜像仓库。harbor是基于docker registry进行了相应的企业级扩展,从而获得了更加广泛的应用,新特性包括:管理用户界面,基于角色的访问控制 ,AD/LDAP集成以及审计日志等。 ----来源网络
搭建过程如下
所需软件包如下
链接:https://pan.baidu.com/s/19z96_iPU9xFAuLE1V-f-bg
提取码:l1li
*提前把以下所需的软件下载好并上传到服务器上*
docker-compose harbor-offline-installer-v1.7.1.tgz
[root@docker ~]# systemctl stop firewalld //关闭防火墙以及selinux
[root@docker ~]# systemctl disable firewalld
[root@docker ~]# setenforce 0
[root@docker ~]# uname -a //当前系统的版本
Linux docker 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
[root@docker ~]# yum install -y docker //安装docker
[root@docker ~]# systemctl start docker //启动docker
[root@docker Harbor]# tar -xf harbor-offline-installer-v1.7.1.tgz //解压harbor源码包
[root@docker Harbor]# mv docker-compose /usr/local/bin/ //复制这个文件到指定目录
[root@docker Harbor]# chmod a+x /usr/local/bin/docker-compose //并赋予这个文件执行权限
[root@docker Harbor]# cd harbor/ //进入解压目录
[root@docker harbor]# docker load -i harbor.v1.7.1.tar.gz //导入镜像到本地镜像库中
[root@docker harbor]# vim harbor.cfg //编辑这个文件
8 hostname = 192.168.1.100 //修改为本地的IP地址
69 harbor_admin_password = 123 //为admin用户指定密码
[root@docker harbor]# ./install.sh //执行这个脚本
[root@docker harbor]# vim /etc/sysconfig/docker //编辑这个文件
4 OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --insecure-registry=192.168.1.100:80' //在这一行添加最后一个参加即可
5 ADD_REGISTRY='--add-registry 192.168.1.100:80'
[root@docker harbor]# systemctl daemon-reload //重载配置
[root@docker harbor]# systemctl restart docker //重启docker
浏览器登录创建项目以及用户
输入本地IP地址 进入登录界面
用户名 admin 密码 123 (密码在harbor.cfg 文件里设置有)
点击创建用户
创建项目并把所创建的用户加入这个项目中去
点击新建项目
将用户加入到新创建的项目中
点击项目以后,进行如下操作
点击+ 用户
服务器上登录测试
[root@docker ~]# docker login
Username: user
Password:
Login Succeeded
导入镜像到harbor仓库中
如果这里下载慢,我们编辑这个文件添加如下的代码(代码从阿里云处获得)
[root@docker ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://ocfyrwaf.mirror.aliyuncs.com"] //镜像加速器
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker pull docker.io/nginx //我们先下载一个Nginx镜像
[root@docker ~]# docker images //查看我们下载的镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest f35646e83998 4 days ago 133 MB
[root@docker ~]# docker tag f35646e83998 192.168.1.100:80/abc/nginx:latest
192.168.1.100:80 代表harbor的地址
abc 表示仓库的名称
Nginx 名称
latest 表示版本号
[root@docker ~]# docker push 192.168.1.100:80/abc/nginx:latest //上传至harbor私有仓库
浏览器上验证结果
点击我们的项目名称
点击镜像仓库
之后就可以看到我们上传的镜像了
从私有仓库上下载指定镜像
[root@docker ~]# docker pull 192.168.1.100:80/abc/nginx:latest
[root@docker ~]# docker images //查看我们下载的
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.100:80/abc/nginx latest f35646e83998 4 days ago 133 MB
至此,harbor私有仓库就此搭建完成了,如有错误,提出改正