Harbor简介
Harbor 是一个由 VMware 开源的企业级 Docker Registry 项目,旨在为用户提供一个安全、可靠且易于使用的私有 Docker 镜像仓库解决方案。它是云原生应用生态中的重要组成部分,特别适用于企业环境,因为其在开源 Docker Distribution 的基础上增加了一系列企业所需的功能特性。
安装步骤
①环境准备
我作为测试机,购买的是最低配置(如果你想搭配k8s使用,购买时,最好将其放在同一内网中)
给主机命名,或者进行你自己所需要的一系列初始化操作:
hostnamectl set-hostname harbor
bash
#没有安装vim和wget的可以用yum install -y vim wget 安装,或者直接使用vi
vim /etc/sysctl.conf
#编辑文件加入
net.ipv4.ip_forward=1
vm.max_map_count=655360
#退出后,运行
sysctl -p
关闭防火墙,禁用 selinux
systemctl stop firewalld
systemctl disable firewalld
# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
setenforce 0 # 临时
软件准备
其中开放式SSL,centos7或8自带,你也可以安装最新的
docker和docker-compose也可以在菜鸟教程上查找怎么安装,这里不多赘述,链接如下:
我安装的版本:
[root@harbor ~]# docker --version
Docker version 26.0.1, build d260a54
[root@harbor ~]# docker-compose --version
Docker Compose version v2.22.0
②下载harbor包
GitHub中harbor-2.8.5离线包
下载到你的主机中,因为包比较大,你如果网络好可以用wget命令,否者下到本地在上传到主机中。(我习惯下载到/usr/local/src目录下)
[root@harbor src]# ll
-rw-r--r-- 1 root root 622390213 Apr 11 16:34 harbor-offline-installer-v2.8.5.tgz
解压包:
tar -zxvf harbor-offline-installer-v2.8.5.tgz
你会得到一个harbor文件
③修改harbor配置文件
进入harbor目录,将harbor.yml.tmpl临时文件复制一份,修改名字为harbor.yml文件
编辑harbor.yml文件(注意注释)
#将hostname改成自己主机的ip
#注意可以用内网ip,也可以用外网ip
#内网ip适合企业用,只有同一内网段的设备才可以访问
#外网ip可以供所有设备访问,我为了网站能够在本地电脑访问,这里使用外网ip
hostname: xx.xx.xx.xx
暂时将以下关于https的注释掉
这些是开放https协议的,但需要配置一些证书密钥类,暂时不需要,都需要注释掉
# https related config
#https:
# https port for harbor, default is 443
# port: 443
# The path of cert and key files for nginx
#certificate: /your/certificate/path
#private_key: /your/private/key/path
修改Harbor默认密码
harbor_admin_password: Harbor123456789
检查以下http端口是否是80
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
保存退出
④安装Harbor
运行install.sh执行文件
sh install.sh
显示以下情况,代表安装成功
卸载harbor命令:
docker-compose down
这两个命令都需要在你harbor目录下才能执行
⑤验证harbor
在浏览器输入你主机的外网ip
账号:admin
密码:为配置文件里面你修改的harbor密码
harbor使用
使用命令,在其他主机上拉取和推送镜像的命令
目标服务器添加私有仓库的地址:
vim /etc/docker/daemon.json
{
"insecure-registries": ["harbor的ip地址:80",]
}
systemctl daemon-reload
systemctl restart docker
修改镜像名称
项目名称是你在harbor上建立的项目名字
docker tag 镜像id harbor的ip:80/项目名称/镜像名称
登录hurbor服务器
docker login -u harbor用户名 -p 密码 harbor的IP:80
将本地镜像推送到harbor
docker push harbor的IP:80/test/nginx:1.13.7
从harbor拉取镜像
docker pull harbor的IP:80/test/nginx:1.13.7
如果文章对您有帮助,请点赞关注我噢