安装Harbor——构建自己的Docker仓库

Harbor是一个企业级的Docker镜像仓库,解决了DockerHub的访问速度慢,镜像被墙等问题,同时它也提供了诸多的企业级功能,例如:安全验证,LDAP集成,镜像复制等等。本篇文章将对Harbor的安装进行详细阐述,包括从安装到开始使用等方面的内容。

一、安装Harbor启动

首先,需要先安装Docker,Harbor本身也是用Docker包装的,这里不再详细阐述。安装Harbor分为两步:

1. 下载安装包

Harbor提供了详细的下载地址,根据自己的特定需求下载对应版本的安装包,本文以v1.10.2版本为例。使用wget命令下载。

wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz

2. 解压并启动

解压后会得到一个install.sh文件和一个harbor.cfg文件,修改harbor.cfg文件中的hostname和ui_url参数,这里写对应机器的IP地址或域名。

tar xvf harbor-offline-installer-v1.10.2.tgz
cd harbor
./install.sh --with-trivy

运行完这些命令后,Harbor已经成功安装并启动了。

二、安装Harbor无法.install

如果安装Harbor的时候遇到了类似“无法安装Harbor”的问题,首先要检查您的系统是否满足最低系统要求:64位操作系统,4GB内存,20GB磁盘空间。

如果以上条件都已经满足,则可以尝试下列方法:

1. 可能是防火墙设置的问题,可以先停掉防火墙,重新安装。

2. 为脚本赋予执行权限。因为有的时候由于权限问题,会导致无法创建目录,无法拷贝文件等。

3. 使用root帐户安装,这样可以避免一些由于权限不足而导致的问题。

以上方法仍然无法解决问题的话,可以访问Harbor的GitHub主页,进行一些相关问题的查看。

三、安装Harbor没有harbor.yml

Harbor的安装离不开harbor.yml配置文件,如果在运行install.sh安装时,没有出现harbor.yml配置文件,有可能是因为不同版本的Harbor使用了不同的配置文件。

可以在Harbor的GitHub主页查找对应版本的harbor.yml文件进行下载,将其拷贝到install.sh所在的目录下,重新执行./install.sh –with-trivy命令进行安装即可。

四、Harbor安装教程

接下来,我们就来一步步安装Harbor,让它成为我们私有的仓库。

1. 安装Docker和docker-compose

如果机器上还没有安装这两个东西,需要先下载并安装,这里不再详细阐述,可以Google搜一下相关的安装教程。

2. 下载安装包

下载最新版即可,下载链接:https://github.com/goharbor/harbor/releases

wget https://github.com/goharbor/harbor/releases/download/v2.1.2/harbor-online-installer-v2.1.2.tgz

3. 解压并进入目录

tar xvf harbor-online-installer-v2.1.2.tgz
cd harbor

4. 修改harbor.cfg文件

修改其中的IP地址和密码,这里只用到了http的方式,若是https安装需要证书的方式,可自行查阅相关资料。

hostname = 192.168.0.96 # 换成你Harbor的IP地址 
harbor_admin_password = Harbor12345 # 换成你的密码 
harbor_db_password = root123 # 换成你的密码 

5. 执行安装脚本

./install.sh

6. 验证

访问http://your_ip/,输入用户名和密码进行登录,这就是你自己的私有仓库了,可以开始愉快地拉取和推送镜像了。

五、安装Harbor仓iptables

如果在使用Harbor时遇到了iptables问题,可以尝试以下方法:

1. 关闭iptables

# CentOS
sudo systemctl stop firewalld
sudo systemctl disable firewalld

# Ubuntu
sudo ufw disable

2. 添加iptables规则

在CentOS系统下需要添加如下规则。

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables-save | sudo tee /etc/sysconfig/iptables

在Ubuntu系统下需要添加如下规则。

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

以上两种方法都可以解决iptables问题。

六、安装Harbor仓库报错iptables

在使用Harbor的过程中,有可能会遇到“failed to start registry: invalidargument”或“failed to start registry, failed to create endpoint”等报错信息。

这个问题可能有多种原因引起,可以尝试以下几个解决方法:

1. 检查防火墙是否关闭,关闭后重新启动registry。

2. 检查端口是否被占用,kill掉进程后重新启动registry。

3. 检查配置文件中的IP地址是否正确,如果出现了127.0.0.1或localhost等本地回环地址,需要将其修改成真实的IP地址。

以上几种方法都可以解决Harbor仓库报错的问题。

总结

通过以上几个小标题的详细阐述,我们对Harbor的安装和使用有了更深入的了解。对于需要构建私有Docker仓库的企业用户来说,Harbor是一个不错的选择,它提供了方便的使用体验和可靠的安全保障。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/185577.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-26 12:24
下一篇 2024-11-26 12:24

相关推荐

  • docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz这个依赖的解决方案

    当我们在linux centos系统中安装docker-ce-18.03.1.ce-1.el7.centos.x86_64时,有时可能会遇到“nothing provides pi…

    编程 2025-04-29
  • Gogs仓库名为什么必须是英文?

    对于使用Gogs进行代码管理的开发者来说,他们可能已经发现Gogs仓库名需要使用英文命名。这是为什么呢?下面我们将分别从历史原因、技术原因、国际化考虑三个方面进行详细阐述。 一、历…

    编程 2025-04-29
  • 如何在Python类中调用自己的类方法

    Python 是一种高级编程语言,提供了面向对象编程的完整支持。使用类可以实现更好的封装性、灵活性和可维护性。在编写类时,有时我们需要在类方法中调用其它的类方法。本文将介绍在 Py…

    编程 2025-04-28
  • yarn npm 仓库用法介绍及使用案例

    本文将从多个方面对yarn npm仓库进行详细阐述,并为你提供一些实际使用案例。 一、npm和yarn的比较 npm和yarn都是JavaScript的包管理工具。npm在Java…

    编程 2025-04-27
  • piaynite:打造自己的游戏世界

    piaynite是一款非常受欢迎的多人在线游戏,它在世界范围内拥有着超过2亿的活跃玩家,是当之无愧的世界顶级游戏。piaynite不仅仅是一款娱乐性质的游戏,更是一种社交媒体和教育…

    编程 2025-04-27
  • 如何解决Docker+k8s报错413 Request Entity Too Large

    对于使用Docker容器和Kubernetes集群的开发人员,在处理HTTP请求时,常常会遇到413 Request Entity Too Large的报错。这通常是由于请求的大小…

    编程 2025-04-27
  • docker-compose编写用法介绍

    本文将详细介绍docker-compose编写的各个方面,包括语法、常见命令等等,旨在帮助读者更好的了解如何使用docker-compose。 一、docker-compose的语…

    编程 2025-04-27
  • Docker 垃圾电脑的解决方案

    Docker 是一种轻量级的容器化技术,可以在一个操作系统中,同时运行多个独立的应用。在使用 Docker 的过程中,可能会出现 Docker 占用大量硬盘空间,导致电脑变得极其缓…

    编程 2025-04-27
  • 如何删除gitee远程仓库并清除idear中相关文件

    可能由于多种原因,我们需要删除gitee远程仓库并清除idear中相关文件,以下为详细步骤: 一、删除gitee远程仓库 1、首先登录gitee账号,找到需要删除的仓库。 2、点击…

    编程 2025-04-27
  • Docker挂载目录–graph用法介绍

    本文将从如下几个方面详细阐述Docker挂载目录–graph: 一、基本概念 在Docker中,镜像是由一系列只读层组成的文件系统。当我们启动一个容器时,Docker会…

    编程 2025-04-27

发表回复

登录后才能评论