搭建Harbor镜像仓库

前言

1、系统版本:CentOS9

2、harbor版本:v2.9.4

3、提前安装好docker和docker-compose,参考地址。我这里安装的版本是docker:26.1.3     docker-compose:v2.27.1

4、文章最后有一键安装的脚本,如果不想一步步手动安装的,可以执行脚本安装

安装步骤

下载安装包

1、下载地址:harbor,选择v2.9.4版本获取下载地址

2、下载安装包

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

解压安装包

-C:解压到目标地址,可以自行修改

# 安装地址
mkdir -p /root/server

# 解包
tar -zxvf harbor-offline-installer-v2.9.4.tgz -C /root/server

导入harbor自带的镜像

1、导入镜像

docker load -i /root/server/harbor/harbor.v2.9.4.tar.gz

2、查看导入的镜像

docker images

修改配置文件

1、复制一份配置文件

# 切换到harbor的解压目录
cd /root/server/harbor

# 复制配置文件
cp harbor.yml.tmpl harbor.yml

2、修改复制出来的配置文件

vim harbor.yml

查看当前主机名称:hostname

主要修改以下内容

# 当前主机的名称
hostname: harbor-server

# 登录harbor web界面的密码
harbor_admin_password: admin123123

# 禁用https,注释掉所有https相关的内容

#数据存储位置,如果路径不存在会自动创建
data_volume: /data/barbor

生成配置文件

新生成的文件

执行安装脚本

./install.sh

安装成功如图所示

 制作系统服务

将harbor制作成系统服务,方便以后操作

编写harbor.service文件

vim /etc/systemd/system/harbor.service

内容如下:

ExecStart:修改为自己的路径
ExecStop:修改为自己的路径

[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose --file /root/server/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose --file /root/server/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target

加载服务

# 加载
systemctl daemon-reload 

# 启动harbor
systemctl start harbor.service 

# 设置开机自启
systemctl enable  harbor.service

# 查看服务状态
systemctl status harbor.service 

harbor使用

登录harbor

地址:输入自己虚拟机的ip地址访问harbor登录界面

账号:默认的是admin

密码:harbor.yml文件中定义的密码

 登录成功后的界面

添加新用户

 新用户登录

一键安装脚本

执行命令

参数1:tar解压的目标路径

参数2:tar包的下载地址

参数3:harbor web界面登录的密码,非必须

./install.sh /root/server https://github.com/goharbor/harbor/releases/download/v2.9.4/harbor-offline-installer-v2.9.4.tgz admin123

脚本内容 

#!/bin/bash
set -ex

# 校验参数
if [ ! "$1" ];then
  echo "请输入安装地址"
  exit 1
fi

if [ ! "$2" ];then
  echo "请输入安装包下载地址"
  exit 1
fi

# harbor登录密码,如果不输入则用默认的
harbor_password=$3
if [ ! "$3" ];then
  harbor_password=Harbor12345
fi

install_dir=$1
download_url=$2
# 安装包下载后存放的位置
k_path=`pwd`

# 文件夹不存在则创建
if [ ! -d $1 ];then
  mkdir -p $1
  echo "======================= 创建文件夹 $1 ======================="
fi
# 下载安装包
wget ${download_url} --no-check-certificate
# 获取安装包名称
package_name=`ls -t1 ${k_path} | grep harbor | grep *.tgz | awk '{print $1}'`
# 解压安装包
tar -zxvf ${k_path}/$package_name -C ${install_dir}
# 获取解压后的文件夹名称
folder_name=`ls -t1 ${install_dir} | grep harbor | awk '{print $1}'`

# 切换目录到解压后的路径
cd ${install_dir}/${folder_name}
curr_dir=`pwd`

# 获取镜像的tar包名称
harbar_tar_name=`ls -t1 ${curr_dir} | grep harbor | grep tar.gz | awk '{print $1}'`
# 导入harbor镜像
docker load -i ${curr_dir}/${harbar_tar_name}

# 打印导入后的镜像
echo "=================== 导入后的harbor镜像 ==================="
docker images

# 复制配置文件
cp harbor.yml.tmpl harbor.yml

# 获取主机名
host_name=`hostname`
# 替换内容
sed -i "s/hostname: reg\.mydomain\.com/hostname: ${host_name}/" ${curr_dir}/harbor.yml
sed -i "s/harbor_admin_password: Harbor12345/harbor_admin_password: ${harbor_password}/" ${curr_dir}/harbor.yml
sed -i "s/https:/# https:/" ${curr_dir}/harbor.yml
sed -i "s/  port: 443/#   port: 443/" ${curr_dir}/harbor.yml
sed -i "s/  certificate:/#   certificate:/" ${curr_dir}/harbor.yml
sed -i "s/  private_key:/#   private_key:/" ${curr_dir}/harbor.yml
sed -i "s/data_volume: \/data/data_volume: \/data\/harbor/" ${curr_dir}/harbor.yml

# 执行prepare
./prepare
# 执行安装脚本
./install.sh

echo "=================== 制作harbor系统服务 ==================="
cat << EOF > /etc/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
 
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose --file ${curr_dir}/docker-compose.yml up
ExecStop=/usr/bin/docker-compose --file ${curr_dir}/docker-compose.yml down
 
[Install]
WantedBy=multi-user.target
EOF

# 加载
systemctl daemon-reload 
# 启动harbor
systemctl start harbor.service 
# 设置开机自启
systemctl enable  harbor.service
# 查看服务状态
systemctl status harbor.service

# 删除安装包
rm -rf ${k_path}/${package_name}

脚本执行结果

脚本执行结束后,最后面会打印harbor服务的运行状态,然后登录harbor即可使用

结束语

以上便是harbor镜像仓库的搭建过程,如有问题欢迎交流 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Harbor镜像私服仓库的步骤如下:首先,在命令窗口中检查Harbor是否已经成功安装和启动,当看到提示信息"Harbor has been installed and started successfully"时,表示服务已经启动成功。 接下来,需要进行私服镜像仓库搭建。安装和配置Harbor,可以使用docker-registry来支持私服镜像仓库。在安装过程中,需要增加私服镜像仓库端口配置,并配置Harbor的admin用户密码。同时,还可以安装帮助文档和使用帮助,以便更好地了解和使用Harbor。 登录Harbor私服镜像仓库成功之后,可以新建项目名称。这个项目可以是公开的,也可以是私有的。如果选择私有项目,需要使用docker login命令登录成功后才能拉取和推送镜像。登录Harbor私服仓库的命令为:docker login harbor服务器ip 账号admin 密码Harbor12345。这样,就可以将本地的镜像推送到搭建Harbor仓库中了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [linux安装harbor搭建镜像私服](https://blog.csdn.net/grabungen/article/details/130331375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [k8s全自动离线按照下载链接.txt](https://download.csdn.net/download/lllipeng/12262373)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [搭建Harbor镜像私服](https://blog.csdn.net/Erica_java/article/details/127296509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值