当前位置: 首页 > news >正文

搭建Docker Harbor仓库

搭建 Docker Harbor 仓库是一个常见的需求,Harbor 是一个企业级的 Docker 镜像仓库,提供了镜像管理、用户权限控制、漏洞扫描等功能。以下是详细的搭建步骤:


1. 环境准备

  • 操作系统:Ubuntu 20.04 或更高版本(或其他 Linux 发行版)。
  • Docker:确保已安装 Docker 和 Docker Compose。
  • 硬件要求
    • 至少 2 CPU 核心。
    • 至少 4 GB 内存。
    • 至少 40 GB 磁盘空间。

2. 安装 Docker 和 Docker Compose

如果尚未安装 Docker 和 Docker Compose,可以按照以下步骤安装:

安装 Docker
# 更新软件包索引
sudo apt update

# 安装依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 添加 Docker 软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io

# 启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker

# 验证 Docker 是否安装成功
docker --version
安装 Docker Compose
# 下载 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证 Docker Compose 是否安装成功
docker-compose --version

3. 下载 Harbor 安装包

访问 Harbor GitHub 发布页面,下载最新版本的离线安装包(harbor-offline-installer-<version>.tgz)。

# 下载 Harbor
wget https://github.com/goharbor/harbor/releases/download/v2.8.0/harbor-offline-installer-v2.8.0.tgz

# 解压安装包
tar -xzvf harbor-offline-installer-v2.8.0.tgz

# 进入解压后的目录
cd harbor

4. 配置 Harbor

编辑 harbor.yml 文件,配置 Harbor 的基本信息。

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

# 编辑配置文件
nano harbor.yml

主要配置项:

  • hostname:Harbor 的访问地址(例如 harbor.example.com 或 IP 地址)。
  • httphttps:选择 HTTP 或 HTTPS 协议(建议使用 HTTPS)。
  • harbor_admin_password:管理员账户的默认密码。
  • data_volume:Harbor 数据存储路径(默认 /data)。

示例配置:

hostname: harbor.example.com
http:
  port: 80
https:
  port: 443
  certificate: /path/to/certificate.crt
  private_key: /path/to/private.key
harbor_admin_password: Harbor12345
data_volume: /data

5. 安装 Harbor

运行安装脚本,启动 Harbor。

sudo ./install.sh

安装完成后,Harbor 会自动启动,并监听配置文件中指定的端口。


6. 访问 Harbor

在浏览器中访问 Harbor 的地址(例如 http://harbor.example.comhttps://harbor.example.com),使用以下默认凭据登录:

  • 用户名admin
  • 密码Harbor12345(或配置文件中指定的密码)

7. 配置 Docker 客户端

为了让 Docker 客户端能够推送和拉取镜像,需要配置 Docker 信任 Harbor 的证书(如果使用 HTTPS)。

如果使用自签名证书
  1. 将 Harbor 的证书复制到 Docker 客户端:

    sudo mkdir -p /etc/docker/certs.d/harbor.example.com
    sudo cp /path/to/certificate.crt /etc/docker/certs.d/harbor.example.com/ca.crt
    
  2. 重启 Docker 服务:

    sudo systemctl restart docker
    
  3. 登录到 Harbor:

    docker login harbor.example.com
    

8. 使用 Harbor

  • 推送镜像

    docker tag my-image:latest harbor.example.com/my-project/my-image:latest
    docker push harbor.example.com/my-project/my-image:latest
    
  • 拉取镜像

    docker pull harbor.example.com/my-project/my-image:latest
    

9. 管理 Harbor

  • 停止 Harbor

    sudo docker-compose down
    
  • 启动 Harbor

    sudo docker-compose up -d
    
  • 升级 Harbor

    1. 下载新版本的 Harbor 安装包。
    2. 备份数据和配置文件。
    3. 运行升级脚本:
      sudo ./prepare
      sudo docker-compose up -d
      

10. 常见问题

  • 端口冲突:确保 Harbor 使用的端口(如 80、443)未被其他服务占用。
  • 证书问题:如果使用 HTTPS,确保证书配置正确。
  • 存储空间不足:定期清理不需要的镜像,或扩展存储空间。

通过以上步骤,你可以成功搭建并配置 Docker Harbor 仓库。如果有更多问题,欢迎随时提问!

相关文章:

  • 【MySQL篇】持久化和非持久化统计信息的深度剖析(含analyze命令和mysqlcheck工具两种收集方式)
  • Leetcode350:两个数组的交集 II
  • 高通Camera点亮3——Camera Module
  • 记录此刻:历时两月,初步实现基于FPGA的NVMe SSD固态硬盘存储控制器设计!
  • SpringBoot+Mybatis-Plus实现动态数据源
  • Deepseek-强化学习算法(通俗易懂版)
  • 【带你 langchain 双排系列教程】9.LangChain基于RAG 实现文档问答:从入门到实战
  • inet_pton()函数的概念和使用案例
  • JavaScript作用域和闭包,原理与用途?
  • 面向对象程序设计-实验十一
  • CSS—盒模型(3分钟结合示例精通盒模型)
  • (十七)WebGL中 图像处理的初识
  • docker部署RustDesk自建服务器
  • 数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
  • Windows 系统常用快捷键指南
  • Linux 命令大全完整版(14)
  • Linux DMA Engine 基础
  • AI2-THOR环境下实现机器人导航、物体定位与抓取
  • C++经典框架案例(六)
  • CentOS停服后的替代选择:openEuler、Rocky Linux及其他系统的未来展望
  • 网站设置密码进入/吸引人的软文标题例子
  • 做自己的卡盟网站/东莞网络营销推广软件
  • 国内做网站建设知名的公司/网络营销活动策划
  • 网上做石材去哪个网站/做电商如何起步
  • 静安集团网站建设/苏州百度
  • 开宾馆做独家网站好吗/推广渠道平台