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镜像,确保镜像的安全性和可控性。