docker5 全功能harbor仓库搭建过程

yizhihongxing

下面是 "docker5 全功能harbor仓库搭建过程" 的完整攻略。

目录

  1. 准备工具和环境
  2. 安装docker和docker-compose
  3. 下载并安装Harbor
  4. 配置Harbor
  5. 启动并测试Harbor
  6. 示例说明

1. 准备工具和环境

在开始安装之前,我们需要准备以下工具和环境:

  • 一台Linux服务器,推荐使用CentOS 7或Ubuntu 16.04
  • Docker和Docker Compose
  • 确保开启了 80、443、4443、8800、12345、12346、13306、3310、3320、5432 等端口
  • 确保服务器的系统时间是准确的

2. 安装docker和docker-compose

如果你已经安装了Docker和Docker Compose,可以跳过本节。

在CentOS 7上安装Docker和Docker Compose的步骤如下:

# 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker软件源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker
sudo yum -y install docker-ce

# 启动docker
sudo systemctl start docker

# 设置Docker开机自启
sudo systemctl enable docker

# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

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

# 编辑Docker Compose配置文件
sudo nano /usr/lib/systemd/system/docker.service
# 在ExecStart后面,添加:
# ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT

# 重新加载systemd
sudo systemctl daemon-reload

# 重启docker
sudo systemctl restart docker

Ubuntu 16.04上安装Docker和Docker Compose的步骤如下:

# 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

# 添加Docker GPG Key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加Docker软件源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 安装Docker和Docker Compose
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-compose

# 启动docker
sudo systemctl start docker

# 设置Docker开机自启
sudo systemctl enable docker

# 修改Docker默认存储驱动为overlay2
sudo nano /etc/docker/daemon.json
# 输入以下内容:
# {
#   "storage-driver": "overlay2"
# }

# 重启docker
sudo systemctl restart docker

3. 下载并安装Harbor

在下载和安装Harbor前,我们需要先创建一个目录,用于存放Harbor的配置文件和数据:

# 创建Harbor的目录
sudo mkdir -p /opt/harbor

在创建好目录之后,我们将进入该目录,并使用Docker Compose下载和安装Harbor:

# 进入Harbor目录
cd /opt/harbor

# 下载docker-compose的yaml文件到Harbor目录
sudo curl -L https://raw.githubusercontent.com/goharbor/harbor/main/install/docker-compose/docker-compose.yml -o docker-compose.yml

# 编辑docker-compose.yml文件
sudo nano docker-compose.yml
# 修改hostname为你的域名,同时请将email改为你的邮箱
# 如果使用HTTP协议,请将https改为http,并同时注释掉tls证书相关的环境变量

# 运行Docker Compose
sudo docker-compose up -d

下载时间可能较长,请耐心等待,下载完成后将会在本地部署Harbor。

4. 配置Harbor

安装完成后,我们需要在 Harbor 中配置用户和仓库等基础信息。

  • 打开网页,在登录页面输入你的账户及密码,进入 Harbor
  • 进入 Harbor 页面后,首先配置管理员,点击右上角的人物图标,进入“New user”页面,设置一个用户名和密码
  • 配置、添加项目,点击“Projects”,进入“New project”页面,设置一个项目名,确定项目公开类型为“Private”
  • 配置、添加用户,点击“Users”,进入“New user”页面,设置一个用户名和密码,选择成员角色为开发或管理

5. 启动并测试Harbor

在完成配置后,我们需要重新启动 Harbor 以使其生效:

sudo docker-compose down
sudo docker-compose up -d

完成后,访问 https://your.harbor.domain即可使用 Harbor ,其中 your.harbor.domain 是你设置的域名。

6. 示例说明

这里提供两个Harbor的示例应用,分别是使用Harbor搭建Docker 私有仓库、使用Harbor搭建 Helm 私有仓库。

示例1. 使用Harbor搭建Docker私有仓库

  1. 登陆到Harbor,创建一个项目
  2. 在项目中新建仓库testdocker,用于存放Docker镜像
  3. 在本地将自己编写的Dockerfile 构建成Image (例如: docker build -t registry.alijackal.top/testdocker:0.1 .)
  4. 推送镜像到Harbor仓库:docker push registry.alijackal.top/testdocker:0.1
  5. 在客户端使用此镜像:docker run registry.alijackal.top/testdocker:0.1

示例2. 使用Harbor搭建Helm私有仓库

我们需要启用Harbor的Helm Chart仓库:

sudo docker-compose down

sudo curl -L https://raw.githubusercontent.com/goharbor/harbor-helm/main/scripts/install-helm.sh | bash

sudo docker-compose up -d

在此之后,我们可以使用Helm安装我们的Chart:

# 添加Harbor Chart仓库
helm repo add harbor https://your.harbor.domain/chartrepo/library

# 下载并提取 Chart 包
helm pull harbor/harbor --untar

# 编辑 values.yaml,设置变量
vim harbor/values.yaml

# 安装 Chart
helm install harbor ./harbor

安装完成后,我们就可以使用Harbor搭建的Helm私有仓库来管理自己的Chart了。

以上就是 "docker5 全功能harbor仓库搭建过程" 的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:docker5 全功能harbor仓库搭建过程 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 浅析mysql 定时备份任务

    下面是详细讲解“浅析mysql 定时备份任务”的完整攻略。 1. 了解mysql备份 MySQL备份是指将MySQL数据库中的数据备份到某个文件中,以便在需要时能够恢复数据。通过备份MySQL数据库,可以保证数据的安全和稳定。MySQL的备份一般分为两种:物理备份和逻辑备份。 物理备份:直接备份数据库的物理文件,包括数据文件、日志文件等,可以在备份文件被还原…

    database 2023年5月22日
    00
  • redis+crontab+php异步处理任务

    2016年1月8日 16:08:43 星期五 情景: 用户登录日志, 发邮件, 发短信等等实时性要求不怎么高的业务通常会异步执行 之前接触过几种redis+crontab配套的实现方法, 比如: crontab定时执行curl脚本   1. 用curl 访问URL执行PHP脚本去pop队列   2. PHP程序pop一次, 处理后返回同样的URL   3. …

    Redis 2023年4月11日
    00
  • Redis3.2.6配置文件详细中文说明

    针对“Redis3.2.6配置文件详细中文说明”的完整攻略,以下是具体步骤: 1. 下载 Redis 首先需要下载 Redis,可以到 Redis 官网(http://redis.io/)下载最新的稳定版。在本文中,我们使用 Redis3.2.6 作为演示版本。下载完成后,解压到指定的目录。 2. 配置 Redis Redis 的配置文件名为 redis.c…

    database 2023年5月22日
    00
  • SQLSERVER数据库中的5173错误解决方法

    当在SQL Server中创建或更新数据库时,可能会遇到5173错误。这通常是由于以下原因之一导致的: 数据库文件路径不存在 SQL Server服务没有足够的权限访问数据库文件目录 以下是解决此问题的步骤: 步骤1:检查文件路径是否存在 首先,检查路径是否正确并且文件已经存在。如果该路径不存在或路径有误,则需要创建该路径或更新路径。 步骤2:给SQL Se…

    database 2023年5月19日
    00
  • MySQL命令行导出与导入数据库

    MySQL命令行导出与导入数据库 MySQL提供了命令行工具来完成数据库的导入和导出操作。这是一种没有GUI的操作方式,可以为需要处理大量数据的开发人员提供更多的灵活性和控制权。 导出数据库 可以使用导出命令将MySQL数据库导出到一个文件: mysqldump -u [用户名] -p [密码] [数据库名称] > [导出文件名].sql 以上面的命令…

    database 2023年5月22日
    00
  • 玩转Redis搭建集群之Sentinel详解

    玩转Redis搭建集群之Sentinel详解 简介 Redis Sentinel是Redis官方推出的一种高可用方案,它可以实现Redis的自动故障转移和发布订阅功能。本文将详细介绍如何使用Redis Sentinel搭建Redis集群。 准备工作 在开始搭建Redis Sentinel集群之前,需要先安装Redis,并确保Redis的版本在3.0以上。也可…

    database 2023年5月22日
    00
  • mysql如何实现多行查询结果合并成一行

    要实现多行查询结果合并成一行,可以使用MySQL的GROUP_CONCAT函数来完成。GROUP_CONCAT函数将多行相同列的值合并成单行,并用逗号(或其他指定的分隔符)分隔每个值。 下面是实现多行查询结果合并成一行的步骤: 使用SELECT语句查询需要合并的数据,注意需要聚合函数(如SUM、COUNT、AVG等)对数据进行分组。 例如,我们有一个orde…

    database 2023年5月22日
    00
  • MySQL非空约束(NOT NULL)详解

    MySQL的非空约束是一种约束条件,确保表中的特定列不为空,也就是说该列必须包含数据,否则无法插入或更新记录。 使用非空约束的语法如下: CREATE TABLE table_name ( column_name data_type NOT NULL ); 例如,如果要在名为“users”的表中创建一个非空username列,语法如下: CREATE TAB…

    MySQL 2023年3月9日
    00
合作推广
合作推广
分享本页
返回顶部