Harbor是一个用于管理Docker镜像的开源企业级Registry服务器。它提供了用户管理、访问控制和镜像复制等功能,可以帮助企业更好地管理和分发Docker镜像。本文将介绍如何在Linux系统中安装和配置Harbor镜像仓库。
一、环境准备
在安装Harbor之前,需要确保系统中已经安装了Docker和Docker Compose。如果没有安装,可以按照以下步骤进行安装。
- 安装Docker
在Ubuntu系统中,可以使用以下命令安装Docker。
代码语言:javascript复制sqlCopy codesudo apt-get update
sudo apt-get install docker.io
在CentOS系统中,可以使用以下命令安装Docker。
代码语言:javascript复制Copy codesudo yum install docker
- 安装Docker Compose
在Linux系统中,可以使用以下命令安装Docker Compose。
代码语言:javascript复制bashCopy codesudo 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
二、安装Harbor
- 下载Harbor
可以从Harbor的官方网站https://github.com/goharbor/harbor/releases 下载最新的稳定版本。在本文中,我们将下载版本2.2.2。
代码语言:javascript复制rubyCopy codewget https://github.com/goharbor/harbor/releases/download/v2.2.2/harbor-offline-installer-v2.2.2.tgz
- 解压Harbor
Copy codetar xvf harbor-offline-installer-v2.2.2.tgz
- 配置Harbor
在解压后的目录中,有一个文件夹名为harbor,其中包含了安装Harbor所需的所有文件和配置。进入该目录并编辑harbor.yml文件,对Harbor进行配置。
代码语言:javascript复制bashCopy codecd harbor/
vi harbor.yml
在harbor.yml文件中,需要对以下几个参数进行配置:
- hostname:填写Harbor所在主机的主机名或IP地址。
- http: port: Harbor的HTTP端口,如果没有指定,则默认为80。
- https: port: Harbor的HTTPS端口,如果没有指定,则默认为443。
- data_volume: Harbor的数据存储路径。
- harbor_admin_password: Harbor管理员密码。
- certificate: 如果需要使用自签名证书,则需要将证书文件拷贝到Harbor目录下,并在harbor.yml文件中进行配置。
下面是一个示例配置:
代码语言:javascript复制yamlCopy codehostname: harbor.example.com
http:
port: 80
https:
port: 443
data_volume: /data/harbor
harbor_admin_password: Harbor12345
- 安装Harbor
在完成配置后,可以使用Docker Compose来安装Harbor。
代码语言:javascript复制bashCopy codesudo ./install.sh --with-clair
这个命令会启动Harbor的所有组件,并创建必要的数据库和用户。
三、配置Harbor
- 配置Docker客户端
在使用Harbor之前,需要在Docker客户端中配置Harbor服务器的地址和认证信息。可以通过以下步骤进行配置。
- 编辑Docker配置文件
在Linux系统中,Docker的配置文件位于/etc/docker目录下。使用vi编辑该文件。
代码语言:javascript复制bashCopy codesudo vi /etc/docker/daemon.json
如果该文件不存在,则需要先创建该文件。
- 添加Harbor服务器地址
在daemon.json文件中,添加以下内容:
代码语言:javascript复制jsonCopy code{
"insecure-registries": ["harbor.example.com"]
}
其中,harbor.example.com为Harbor服务器的地址。这个配置项的作用是告诉Docker客户端可以信任该服务器。
- 重新加载Docker配置
编辑完成后,需要重新加载Docker的配置。
代码语言:javascript复制Copy codesudo systemctl daemon-reload
sudo systemctl restart docker
- 配置Harbor
除了在安装时进行配置外,还可以在Harbor中进行进一步的配置。可以通过Harbor的Web界面来完成以下操作。
- 登录Harbor
打开浏览器,输入Harbor服务器的地址。如果一切正常,会显示Harbor的登录界面。输入管理员用户名和密码,登录到Harbor的Web界面。
- 配置用户和权限
在Harbor的Web界面中,可以创建用户和组,并对用户和组进行权限控制。
- 配置镜像仓库
在Harbor中,可以创建多个镜像仓库,并设置不同的访问权限。可以按照以下步骤来创建一个镜像仓库。
- 点击“Repositories”选项卡,然后点击“New Project”按钮。
- 输入项目名称和描述,并选择所属的命名空间。命名空间用于将多个项目进行分组。
- 设置镜像仓库的访问权限。可以选择公开或私有,并设置具体的用户或组的访问权限。
- 点击“Create”按钮来创建镜像仓库。
- 上传和下载镜像
在Harbor中,可以使用Docker客户端来上传和下载镜像。可以按照以下步骤来上传一个镜像。
- 使用Docker客户端登录到Harbor服务器。
Copy codedocker login harbor.example.com
其中,harbor.example.com为Harbor服务器的地址。
- 从Docker Hub上下载一个镜像。
Copy codedocker pull nginx
- 重新打标签并上传镜像到Harbor服务器。
bashCopy codedocker tag nginx harbor.example.com/project/nginx
docker push harbor.example.com/project/nginx
其中,project/nginx为在Harbor中创建的镜像仓库的名称。
五、总结
通过以上步骤,我们可以在Linux系统中安装和配置Harbor镜像仓库。Harbor提供了强大的镜像管理和访问控制功能,可以帮助企业更好地管理和分发Docker镜像。如果您想了解更多关于Harbor的内容,请查阅Harbor官方文档。