构建Harbor私有仓库
构建Harbor私有镜像仓库
harbor仓库
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等
-
基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
-
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
-
图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
-
AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
-
审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
-
国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
-
RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
-
部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。
Harbor官方网站
Harbor官方Github仓库
https://github.com/goharbor/harbor 点我前往
环境准备
-
一台VPS服务器(这里我用虚拟机演示)
IP 192.168.60.131 Centos 7
安装一些必要的组件
[root@harbor ~]# yum install -y vim net-tools wget ntpdate
时间同步
[root@harbor ~]# ntpdate ntp.aliyun.com
关闭防火墙和selinux(云服务器跳过这一步,放开安全组就可以了)
systemctl stop firewalld && systemctl disable firewalld setenforce 0
安装docker
-
卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
配置镜像的仓库(根据地区选择)
-
默认是国外镜像
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
国内使用阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
-
需要的安装包
yum install -y yum-utils device-mapper-persistent-data lvm2
-
查看docker版本
yum list docker-ce --showduplicates
-
安装最新版docker
yum install -y docker-ce
-
启动docker服务
systemctl start docker && systemctl enable docker
-
查看docker版本
[root@harbor ~]# docker -v Docker version 24.0.7, build afdd53b
配置阿里云镜像加速器
首先登录阿里云,找到-容器镜像服务-镜像工具-镜像加速器
每个人的都不一样,建议用自己的
根据下面的文档创建
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://gnp9adaq.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
安装docker-compose
-
官方github仓库
-
下载最新版(我这里是2.23.3)
[root@harbor bin]# wget https://github.com/docker/compose/releases/download/v2.23.3/docker-compose-`uname -s`-`uname -m`
[root@harbor ~]# mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
-
给予执行权
[root@harbor ~]# chmod +x /usr/local/bin/docker-compose
安装harbor仓库
-
到官网找到安装包,有在线和离线版本,根据自己的需求选择
-
下载到服务器(我用的是在线安装)
[root@harbor ~]# wget https://github.com/goharbor/harbor/releases/download/v2.10.0/harbor-online-installer-v2.10.0.tgz
-
查看并解压
[root@harbor ~]# ls anaconda-ks.cfg harbor-online-installer-v2.10.0.tgz
[root@harbor ~]# tar xvf harbor-online-installer-v2.10.0.tgz harbor/prepare harbor/LICENSE harbor/install.sh harbor/common.sh harbor/harbor.yml.tmpl
[root@harbor ~]# ls anaconda-ks.cfg harbor harbor-online-installer-v2.10.0.tgz
可以看出多了一个harbor目录
-
进入
harbor
目录[root@harbor ~]# cd harbor [root@harbor harbor]# ls common.sh harbor.yml.tmpl install.sh LICENSE prepare
-
修改配置文件
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
保留配置文件是怕之后出问题
[root@harbor harbor]# vim harbor.yml
# The default data volume data_volume: /data 把这个改为 data_volume: ./data 这样方便数据迁移
保存退出
-
安装harbor
[root@harbor harbor]# ./prepare
稍等一会后
[root@harbor harbor]# ls common data harbor.yml install.sh prepare common.sh docker-compose.yml harbor.yml.tmpl LICENSE
发现出现了
docker-compose.yml
文件[root@harbor harbor]# docker-compose up -d
登录harbor
打开浏览器输入IP加端口或域名,然后用
用户名:admin
密码:Harbor12345
登录即可