zhangjava's blog zhangjava's blog
首页
  • 学习笔记

    • 《从零开始学Python》
生活
  • 专题

    • 从零搭建开发部署自动化
更多
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

zhangjava

用技术改变世界
首页
  • 学习笔记

    • 《从零开始学Python》
生活
  • 专题

    • 从零搭建开发部署自动化
更多
关于
  • 网站
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 前言
  • 安装ubuntu-24.04.1-server系统
  • 安装docker
  • 安装docker-compose
  • VMware复制多个虚拟机
  • 安装Jenkins
  • 安装Harbor
    • 1. 安装Harbor
    • 2. docker使用仓库
      • 2.1 docker登录harbor
      • 2.2 测试推送
      • 2.3 测试拉取
  • 安装GitLab
  • 配置项目部署服务器
  • Jenkins配置自动化流程
  • 从零搭建开发部署自动化
zhangjava
2025-03-05
目录

安装Harbor

# 1. 安装Harbor

打开Harbor的Github Release地址 (opens new window),下载离线部署包。

image-20250306205517856

服务器创建目录,/root/soft/docker

mkdir -p /root/soft/docker
1

上传包到目录下。

image-20250306211648204

解压文件到当前目录

tar -zxvf harbor-offline-installer-v2.12.2.tgz
1

进入解压后的目录,将harbor.yml.tmpl文件重命名为harbor.yml

mv harbor.yml.tmpl harbor.yml
1

image-20250306212003704

修改harbor.yml文件

#服务地址
hostname: 192.168.127.135

#http访问端口
http:
  # port for http, default is 80. If https enabled, this port will redirect to https port
  port: 80

# https配置,如果不需要开启,就注释掉
#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
  # enable strong ssl ciphers (default: false)
  # strong_ssl_ciphers: false
 
 #管理员密码
 harbor_admin_password: Harbor12345
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

保存文件,执行install.sh,开始安装。

image-20250306213546636

安装完成后,会自动启动服务。

用浏览器访问80端口,输入用户名:admin,输入上面配置好的密码

image-20250306213715852

image-20250306213813158

# 2. docker使用仓库

# 2.1 docker登录harbor

在docker推送或拉取非公开镜像前,需要先使用docker login命令登录harbor。

docker login -u admin -p Harbor12345 http://192.168.127.135:80
1

image-20250307103306668

返回http: server gave HTTP response to HTTPS client的错误信息。这是因为docker客户端默认使用的是https,而我们搭建harbor时,没有开启https。

解决方案有两种

  • harbor配置ssl证书,并开启https访问
  • 修改docker客户端,针对我们的harbor访问地址开启http

这里我们选择修改docker客户端的方式。

在/etc/docker目录下,新增daemon.json配置文件,将harbor的访问地址添加进去

{
    "insecure-registries":["192.168.127.135:80"]
}
1
2
3

image-20250307102736755

保存后,重启docker。

systemctl restart docker
1

再次执行登录命令。

image-20250307103621262

登录成功后,docker会将登录信息写入当前用户目录下的.docker/config.json文件中,以后docker重启或者服务器重启,都不再需要再次执行docker login命令了。

image-20250307103907948

# 2.2 测试推送

harbor的项目有两种访问级别,公开和私有。当设置为公开时,所有人都可以拉取镜像。设置为私有时,只有指定成员的用户才能访问。

image-20250307085730402

image-20250307105725866

可以使用添加用户的方式,来指定项目成员。

image-20250307105935593

harbor的角色权限

操作 项目管理员 维护人员 开发者 访客 受限访客
管理项目成员(添加/删除) ✅ 是 ❌ 否 ❌ 否 ❌ 否 ❌ 否
管理仓库(创建/删除) ✅ 是 ✅ 是 ❌ 否 ❌ 否 ❌ 否
推送(Push)镜像 ✅ 是 ✅ 是 ✅ 是 ❌ 否 ❌ 否
拉取(Pull)镜像 ✅ 是 ✅ 是 ✅ 是 ✅ 是 ✅ 仅能访问公开项目
删除镜像 ✅ 是 ✅ 是 ❌ 否 ❌ 否 ❌ 否
管理复制规则 ✅ 是 ✅ 是 ❌ 否 ❌ 否 ❌ 否
管理漏洞扫描 ✅ 是 ✅ 是 ❌ 否 ❌ 否 ❌ 否
管理项目配额 ✅ 是 ❌ 否 ❌ 否 ❌ 否 ❌ 否

harbor安装好后,默认有一个公开的项目library,我们使用另一个安装好docker的服务器,测试一下推送。

先下载一个测试的镜像

docker pull hello-world
1

image-20250307100846383

然后推送镜像

docker push 192.168.127.135:80/library/hello-world:test
1

image-20250307110705144

可以看到推送成功了。

image-20250307111122763

# 2.3 测试拉取

使用docker pull来拉取镜像

docker pull 192.168.127.135:80/library/hello-world:test
1

image-20250307111908606

image-20250307111942599

可以看到,镜像下载数由0变成了1。

编辑 (opens new window)
#Harbor#Docker私有仓库
安装Jenkins
安装GitLab

← 安装Jenkins 安装GitLab→

最近更新
01
配置项目部署服务器
03-05
02
Jenkins配置自动化流程
03-05
03
安装GitLab
03-05
更多文章>
Theme by Vdoing | Copyright © 2025-2025 zhangjava | MIT License | 晋ICP备2023016205号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式