Docker/系统运维

harbor部署(docker hub)+bash一键安装

daimafengzi · 4月28日 · 2024年 · · · · · · · · · 本文共2854个字 · 预计阅读10分钟11次已读

[blockquote2 name=’洛维花’]搭建自己的docker hub,适用于内网部署
演示版本为2.9.4(2024年4月版本)[/blockquote2]

官网: harbor

需要dockerdocker-compose,如果没有安装,可以参考:
docker安装
docker-compose安装

      1.下载解压
cd /usr/local

如果官方下载太慢,建议用下载工具下载并上传到服务器

wget https://github.com/goharbor/harbor/releases/download/v2.9.4/harbor-offline-installer-v2.9.4.tgz

解压

tar -zxvf harbor-offline-installer-v2.9.4.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

[blockquote1 name=’洛维花’]详细配置如下:
1)hostname改为本机在局域网的ip,比如192.168.0.88
2)httpport改为设定的harbor的对外服务端口,比如8888
3)注释所有https的配置(前面加#),包括httpsportcertificateprivate_key
如果使用https,则不要注释
4)修改data_volume为上面创建的/var/harbor

配置文件可以设置管理员的账号名称,根据需要设置[/blockquote1]

      4.安装启动
cd /usr/local/harbor
./install.sh

harbor开机会自动启动

      5.bash脚本一键安装(可选)

[blockquote2 name=’洛维花’]这个脚本是我上面操作,如果上面手动操作了,就不要用了[/blockquote2]

vi /usr/local/harbor.sh

[blockquote1 name=’洛维花’]修改脚本的常量区域,可以调整安装
需要设置本地服务器ip和端口[/blockquote1]

#!/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
harbor部署(docker hub)+bash一键安装

默认账号:admin
默认密码:Harbor12345(在xml里面配置)
      2.创建harbor中的账号密码

系统管理——用户管理——创建用户
harbor部署(docker hub)+bash一键安装

      3.客户端登录(以下操作在客户端)/ol>

允许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里面即可

      1.暂停所有harbor容器
docker stop $(docker ps -a | grep "goharbor" | awk '{print $1}')
      2.删除所有harbor容器
docker rm $(docker ps -a | grep "goharbor" | awk '{print $1}')
docker rmi $(docker images | grep "goharbor" | awk '{print $1":"$2}')

然后删除下载的harbor安装包

0 条回应