搭建自己的docker hub,适用于内网部署
演示版本为2.9.0(2023年9月版本)
官网: harbor
需要docker和docker-compose,如果没有安装,可以参考:
docker和docker-compose安装
一、安装
1.下载解压
cd /usr/local
如果官方下载太慢,建议用下载工具下载并上传到服务器
wget https://github.com/goharbor/harbor/releases/download/v2.9.0/harbor-offline-installer-v2.9.0.tgz
解压
tar -zxvf harbor-offline-installer-v2.9.0.tgz
2.创建harbor的保存的路径
根据自己情况,这里是/var/harbor
mkdir /var/harbor
授权
chmod -R 750 /var/harbor
3.配置文件
复制模板为配置文件
cp /usr/local/harbor/harbor.yml.tmpl /usr/local/harbor/harbor.yml
编辑
vi /usr/local/harbor/harbor.yml
详细配置如下:
1)hostname改为本机在局域网的ip,比如192.168.0.88
2)http的port改为设定的harbor的对外服务端口,比如8888
3)注释所有https的配置(前面加#),包括https、port、certificate、private_key
如果使用https,则不要注释
4)修改data_volume为上面创建的/var/harbor
配置文件可以设置管理员的账号名称,根据需要设置
4.安装启动
cd /usr/local/harbor
./install.sh
harbor开机会自动启动
5.bash脚本一键安装(可选)
这个脚本是我上面操作,如果上面手动操作了,就不要用了
vi /usr/local/harbor.sh
修改脚本的常量区域,可以调整安装
需要设置本地服务器ip和端口
#!/bin/bash
# 常量设置
harbor_version="2.9.0" # harbor版本
install_path="/usr/local" # 安装、操作目录
server_ip="192.168.0.88" # 服务ip
server_port="8888" # 服务端口
data_path="/var/harbor" # 数据保存目录
data_path2="\/var\/harbor" # 数据保存目录
# 下载harbor源码包,如果下载过慢,注释下面几行代码
echo "......正在下载源码包......"
wget -P ${install_path} wget https://github.com/goharbor/harbor/releases/download/v${harbor_version}/harbor-offline-installer-v${harbor_version}.tgz
echo "......源码包下载完成......"
# 解压缩
echo "......正在解压缩源码包......"
cd ${install_path}
tar -zxf ${install_path}/harbor-offline-installer-v${harbor_version}.tgz
echo "......源码包解压缩完成......"
# 创建数据目录
mkdir ${data_path}
chmod -R 750 ${data_path}
# 配置文件
echo "......正在修改配置文件......"
## 复制配置文件
cp ${install_path}/harbor/harbor.yml.tmpl ${install_path}/harbor/harbor.yml
## 调整配置文件
sed -i 's/data_volume: \/data/data_volume: '"$data_path2"'/g' ${install_path}/harbor/harbor.yml
sed -i 's/hostname: reg.mydomain.com/hostname: '"$server_ip"'/g' ${install_path}/harbor/harbor.yml
sed -i 's/https:/# https:/g' ${install_path}/harbor/harbor.yml
sed -i 's/certificate:/# certificate:/g' ${install_path}/harbor/harbor.yml
sed -i 's/private_key:/# private_key:/g' ${install_path}/harbor/harbor.yml
sed -i 's/port: 443/# port: 443/g' ${install_path}/harbor/harbor.yml
echo "......修改配置文件完成......"
## 启动
/usr/local/harbor/install.sh
echo "......!!!脚本运行完成!!!......"
保存后
sh /usr/local/harbor.sh
二、使用
1.web访问管理页面
浏览器打开ip:port(每个设备的局域网ip不一样)
访问地址上面设置的(这里是192.168.0.88:8888)
默认账号:admin
默认密码:Harbor12345(在xml里面配置)
2.创建harbor中的账号密码
系统管理——用户管理——创建用户
3.客户端登录(以下操作在客户端)
允许http访问
vi /etc/docker/daemon.json
是新文件,写入以下内容:
{"insecure-registries":["192.168.0.88:8888"]}
使用如下命令
docker login 192.168.0.88:8888
输入账号密码后即可
4.配置ssl证书支持https
如果用域名,需要配置ssl证书,证书将保存的目录写道xml里面即可
二、卸载
这里通过名称为goharbor开头的来批量选取
1.暂停所有harbor容器
docker stop $(docker ps -a | grep "goharbor" | awk '{print $1}')
2.删除所有harbor容器
docker rm $(docker ps -a | grep "goharbor" | awk '{print $1}')
3.删除所有harbor镜像
docker rmi $(docker images | grep "goharbor" | awk '{print $1":"$2}')
然后删除下载的harbor安装包