Docker Harbor私有仓库详解

Docker Harbor概述

       Harbor是一个开源的企业级Docker镜像仓库项目,提供了镜像存储、签名、访问控制等功能。相比于Docker官方提供的Registry,Harbor提供了更加丰富的功能和更完善的安全机制,适用于企业级应用、云原生平台等场景。

Harbor搭建命令

1. 安装Harbor依赖

      在安装Harbor之前,需要确保系统中已经安装了Docker和Docker Compose。此外,还需要安装一些必要的依赖包,如Python等。具体安装步骤可能因操作系统而异,请参考Harbor官方文档。

2. 下载Harbor安装包

       从Harbor的官方GitHub仓库下载最新版本的安装包。通常,Harbor的发布页面会提供不同版本和架构的安装包供用户选择。

3. 配置Harbor

        解压下载的Harbor安装包后,进入harbor.yml配置文件所在目录。编辑harbor.yml文件,根据实际需求配置Harbor的各项参数,如主机名、端口、数据存储路径等。以下是一个示例配置:

hostname: harbor.example.com
http:
port: 80
https:
# https related config
port: 443
# ...
database:
password: root123
# ...
data_volume: /data/harbor
# ...

注意:请确保将hostname字段配置为Harbor所在主机的域名或IP地址,并确保该地址在Docker客户端中可访问。

4. 运行Harbor安装脚本

     在配置好harbor.yml文件后,运行Harbor提供的安装脚本以初始化并启动Harbor服务。进入Harbor安装包目录,执行以下命令:

./prepare
./install.sh

  prepare脚本用于预检查环境依赖并生成配置文件,install.sh脚本则用于启动Harbor服务。执行完毕后,Harbor服务将启动并监听配置的端口。

5. 验证Harbor状态

    使用浏览器访问Harbor的Web界面(通常为http://<hostname>:<port>),或者使用Docker客户端命令来验证Harbor服务是否正常运行。例如,可以使用以下命令查看Harbor中的仓库列表:

docker login harbor.example.com
# 输入用户名和密码进行登录
docker push harbor.example.com/myproject/myimage:latest
# 如果推送成功,则Harbor服务正常运行

Harbor命令解析

1. ./prepare

该脚本用于预检查环境依赖并生成配置文件。它会检查Docker和Docker Compose是否已安装,以及配置文件中指定的各项参数是否合法。如果一切正常,脚本将生成最终的配置文件供install.sh脚本使用。

2. ./install.sh

该脚本用于启动Harbor服务。它会根据harbor.yml配置文件中的参数来启动Harbor的各个组件(如Registry、UI、数据库等),并确保它们之间能够正常通信。执行完毕后,Harbor服务将启动并监听配置的端口。

实战:使用Harbor

1. 上传镜像到Harbor

        在上传镜像之前,需要确保Docker客户端已经配置了Harbor的地址。可以通过修改Docker守护进程的配置文件(如/etc/docker/daemon.json)来添加Harbor的地址为不安全的仓库(insecure registry)。然后,给需要上传的镜像打上一个新的标签,指定Harbor的地址和仓库名称:

docker tag myimage:latest harbor.example.com/myproject/myimage:latest
docker push harbor.example.com/myproject/myimage:latest

2. 从Harbor下载镜像

       在另一台Docker主机上,同样需要配置Harbor的地址为不安全的仓库。然后,使用docker pull命令从Harbor下载镜像:

docker pull harbor.example.com/myproject/myimage:latest

3. 管理Harbor仓库和镜像

        通过Harbor的Web界面,你可以方便地管理仓库和镜像。你可以创建新的仓库、删除不再需要的仓库、设置仓库的访问权限等。同时,你还可以查看仓库中的镜像列表、镜像的详细信息以及镜像的拉取记录等。

      此外,Harbor还支持镜像签名功能,可以确保镜像的完整性和来源可靠性。你可以使用Harbor提供的签名工具对镜像进行签名,并在推送或拉取镜像时验证签名。

     以上就是对Docker Harbor私有仓库的详细解释和实战操作。通过搭建和使用Harbor,你可以更好地管理和分发Docker镜像,确保镜像的安全性和可控性。

上一篇:JAVA爬虫基础


下一篇:C++ | Leetcode C++题解之第49题字母异位词分组-题解: