Docker之Harbor介绍

本文介绍了如何使用Docker Harbor搭建企业级私有仓库,详细阐述了安装步骤和配置细节,包括Docker Compose部署、用户管理以及如何将镜像推送到Harbor仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Harbor
Docker Harbor 部署私有仓库。它以 Registry 为基础,提供了对用户友好的管理界面,可以帮助我们快速搭建一个企业级的 Docker Registry 服务。Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 Docker Compose 进行部署。

部署
安装好 docker 、docker-compose
安装harbor

 用户:admin
密码:Harbor12345

 推送镜像到harbor

[root@harbor harbor]# docker pull nginx
[root@harbor harbor]# docker images
REPOSITORY                      TAG                             IMAGE ID       CREATED         SIZE
nginx                           latest                          ad4c705f24d3   2 days ago      133MB
[root@harbor harbor]# docker tag ad4c705f24d3 192.168.118.44/whd/nginx-01 

### 如何在 Harbor 中管理 Docker 镜像或 JAR 文件 Harbor 是一个开源的企业级容器镜像仓库,支持存储和分发 Docker 镜像以及其他类型的二进制文件。以下是关于如何在 Harbor 中管理 Docker 镜像以及处理 JAR 文件的相关说明。 #### 1. 在 Harbor 中上传和拉取 Docker 镜像 要将 Docker 镜像推送到 Harbor 或从中拉取镜像,需遵循以下流程: - **登录到 Harbor** 使用 `docker login` 命令向 Harbor 注册表认证。例如: ```bash docker login harbor.example.com -u admin -p password ``` - **标记本地镜像** 将本地构建好的镜像重新标记为目标 Harbor 地址。例如: ```bash docker tag my-jenkins-app:latest harbor.example.com/library/my-jenkins-app:latest ``` - **推送镜像至 Harbor** 推送已标记的镜像到远程仓库: ```bash docker push harbor.example.com/library/my-jenkins-app:latest ``` - **从 Harbor 拉取镜像** 若要使用 Harbor 上托管的镜像,则执行如下命令: ```bash docker pull harbor.example.com/library/my-jenkins-app:latest ``` 上述操作涵盖了基本的镜像管理工作流[^1]。 #### 2. 处理 JAR 文件或其他工件 虽然 Harbor 主要设计用于管理 Docker 镜像,但它也通过 Helm Chart 和其他插件支持更广泛的工件类型。对于 Java 应用程序中的 JAR 文件,可以考虑以下几种方式将其纳入 Harbor 的管理体系中: - **嵌入 JAR 到 Docker 镜像** 构建自定义 Docker 镜像时,可利用 Dockerfile 添加 JAR 文件并设置启动脚本。例如: ```Dockerfile FROM openjdk:11 ADD target/my-application.jar /app/my-application.jar ENV JAVA_OPTS="" CMD ["java", "-jar", "/app/my-application.jar"] ``` 此方法允许直接将应用程序封装成独立单元以便于分发和部署。 - **使用 Artifactory 或 Nexus 存储 JAR 文件** 如果仅希望保存原始 JAR 而不创建新镜像,可以选择专门针对软件构件库的产品如 JFrog Artifactory 或 Sonatype Nexus 来替代 Harbor 进行此类资产存档[^3]。 #### 3. 实现自动化与编排 为了进一步简化运维过程,建议结合 CI/CD 流程实现自动化的镜像生成及发布机制。这通常涉及 Jenkins、GitLab CI 等工具链配合 Kubernetes 或者 Docker Swarm 执行大规模调度任务[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值