千家信息网

怎样安装企业级docker镜像仓库Harbor

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这期内容当中小编将会给大家带来有关怎样安装企业级docker镜像仓库Harbor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Harbor官方介绍Harbor是一个
千家信息网最后更新 2025年02月23日怎样安装企业级docker镜像仓库Harbor

这期内容当中小编将会给大家带来有关怎样安装企业级docker镜像仓库Harbor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

Harbor官方介绍

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

Harbor安装环境

Centos: CentOS 7.3Docker: 18.03.1-ceDocker-composer: 1.23.2Harbor: harbor-online-installer-v1.6.2.tgz

可以参考 docker - 在centos7和windows10安装 、 docker - 镜像加速器 、 安装 docker-compose 分别安装docker engine/docker compose

harbor 1.6.2 需要的运行环境:docker 17.03.0-ce+ and docker-compose 1.10.0+ .

Harbor安装

Harbor支持在线和离线两种安装方式,本文采用在线方式安装。在线安装安装过程中需要下载docker镜像,离线包则已经有相关镜像

离线包可以在百度云盘下载:

链接:https://pan.baidu.com/s/1hWeEu4J-o1LYFrFgWOmQww     提取码:q9q7

在线安装包可以在下面的连接下载:

链接:https://pan.baidu.com/s/1FbB-QCB63k6psOtpOkvXYw 提取码:o72z

把安装压缩包 harbor-online-installer-v1.6.2.tgz 上传到服务器

1、解压

[root@localhost harbor]# tar xvf harbor-online-installer-v1.6.2.tgz

2、配置

在harbor的解压目录里,有下列文件,其中 harbor.cfg是配置文件,install.sh是安装文件

drwxr-xr-x. 3 root root      23 Dec  9 22:41 common-rw-r--r--. 1 root root     813 Nov 20 13:59 docker-compose.chartmuseum.yml-rw-r--r--. 1 root root     863 Nov 20 13:59 docker-compose.clair.yml-rw-r--r--. 1 root root    1258 Nov 20 13:59 docker-compose.notary.yml-rw-r--r--. 1 root root    3675 Nov 20 13:59 docker-compose.ymldrwxr-xr-x. 3 root root     136 Nov 20 13:59 ha-rw-r--r--. 1 root root    7913 Nov 20 13:59 harbor.cfg-rwxr-xr-x. 1 root root    6162 Nov 20 13:59 install.sh-rw-r--r--. 1 root root   10768 Nov 20 13:59 LICENSE-rw-r--r--. 1 root root     482 Nov 20 13:59 NOTICE-rw-r--r--. 1 root root 1535603 Nov 20 13:59 open_source_license-rwxr-xr-x. 1 root root   39132 Nov 20 13:59 prepare

下面修改一些示例中使用的参数,更详细的参数请参考:https://github.com/goharbor/harbor/blob/v1.6.2/docs/installation_guide.md

vim harbor.cfg

修改配置,使用IP地址访问harbor,暴露的端口是5000

# 监听地址,不能设置为127.0.0.1或者localhost,这里设置的是docker host的ip地址hostname = 192.168.88.30:5000# 登录密码,默认密码:Harbor12345harbor_admin_password = 123456

修改docker-compose.yml,映射容器中的80端口到host的5000端口

proxy:    image: goharbor/nginx-photon:v1.6.2    container_name: nginx    restart: always    volumes:      - ./common/config/nginx:/etc/nginx:z    networks:      - harbor    ports:      #需要改这里      - 5000:80      - 443:443      - 4443:4443

3. 安装

运行安装目录里面的 install.sh。耐心等待,如果是在线安装版本,需要下载一些docker镜像,如果已经 docker - 镜像加速器 配置了加速器,那是相当快的。

./install.sh

下载的镜像如下:

[root@localhost harbor]# docker imagesREPOSITORY                    TAG                 IMAGE ID            CREATED             SIZEgoharbor/redis-photon         v1.6.2              473bfdd9d245        2 weeks ago         210MBgoharbor/registry-photon      v2.6.2-v1.6.2       62c30cdb384a        2 weeks ago         196MBgoharbor/nginx-photon         v1.6.2              c0602500e829        2 weeks ago         132MBgoharbor/harbor-log           v1.6.2              781ee4ceb5d3        2 weeks ago         197MBgoharbor/harbor-jobservice    v1.6.2              3419a2276f96        2 weeks ago         192MBgoharbor/harbor-ui            v1.6.2              66268686bb96        2 weeks ago         215MBgoharbor/harbor-adminserver   v1.6.2              4024440925a4        2 weeks ago         181MBgoharbor/harbor-db            v1.6.2              0ed4186be0d1        2 weeks ago         219MB

启动的容器

[root@localhost harbor]# docker psCONTAINER ID        IMAGE                                    COMMAND                  CREATED             STATUS                                 PORTS                                                                NAMES18c82d20d070        goharbor/harbor-jobservice:v1.6.2        "/harbor/start.sh"       2 minutes ago       Up About a minute                                                                                           harbor-jobservice1a807ff9307d        goharbor/nginx-photon:v1.6.2             "nginx -g 'daemon of…"   2 minutes ago       Up About a minute (health: starting)   0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:5000->80/tcp   nginx83428db239b3        goharbor/harbor-ui:v1.6.2                "/harbor/start.sh"       2 minutes ago       Up 23 seconds (health: starting)                                                                            harbor-uid785d1e0b4fb        goharbor/redis-photon:v1.6.2             "docker-entrypoint.s…"   2 minutes ago       Up 2 minutes                           6379/tcp                                                             redis126657d6e33c        goharbor/harbor-adminserver:v1.6.2       "/harbor/start.sh"       2 minutes ago       Restarting (1) 3 seconds ago                                                                                harbor-adminserver1ac23c837879        goharbor/registry-photon:v2.6.2-v1.6.2   "/entrypoint.sh /etc…"   2 minutes ago       Up 2 minutes (healthy)                 5000/tcp                                                             registryd080851c8190        goharbor/harbor-db:v1.6.2                "/entrypoint.sh post…"   2 minutes ago       Up 2 minutes (healthy)                 5432/tcp                                                             harbor-dbb47254ceba04        goharbor/harbor-log:v1.6.2               "/bin/sh -c /usr/loc…"   2 minutes ago       Up 2 minutes (healthy)                 127.0.0.1:1514->10514/tcp                                            harbor-log

默认情况下,docker是不给你直接用IP地址访问HARBOR的,但是在host里面使用curl命名是可以访问的

解决这个问题的方法:

需要在docker的安全检查那里添加白名单

#vim /usr/lib/systemd/system/docker.service  #修改如下一行ExecStart=/usr/bin/dockerd --insecure-registry=192.168.88.30:5000

重新访问

用系统管理员账户登录后,可以看到有一个默认的public项目

4. 推送镜像到harbor

接下来,我们把在 docker - dockerfile构建一个简单的springboot应用镜像 文章中做的springboot-docker镜像推送到harbor中。

首先,在harbor里创建一个test-project项目


如果访问级别设为公布,所有人都可以不需要登录就可以拉取和推送镜像。

命令行登录harbor

docker login 192.168.88.30:5000

出现以下问题

Error response from daemon: Get https://192.168.88.30:5000/v2/: http: server gave HTTP response to HTTPS client

需要在docker的安全检查那里添加白名单

#vim /usr/lib/systemd/system/docker.service  #修改如下一行ExecStart=/usr/bin/dockerd --insecure-registry=192.168.88.30:5000

重启docker

systemctl daemon-reloadsystemctl restart docker.service

重新登录

[root@localhost harbor]# docker login 192.168.88.30:5000Username: adminPassword: Login Succeeded

查看下我们现在的镜像

[root@localhost springboot-docker]# docker imagesREPOSITORY                    TAG                 IMAGE ID            CREATED              SIZEspringboot-docker             1.0                 3be343b3b3ea        About a minute ago   121MB

仓库拉取或者推送的命名格式:

${IP或者域名}/${项目}/${模块}:${tag}

原来的springboot-docker项目打标签,推送到harbor。

[root@localhost ~]# docker tag springboot-docker:1.0 192.168.88.30:5000/test-project/springboot-docker:1.0[root@localhost ~]# docker imagesREPOSITORY                                          TAG                 IMAGE ID            CREATED             SIZE192.168.88.30:5000/test-project/springboot-docker   1.0                 3be343b3b3ea        10 hours ago        121MBspringboot-docker                                   1.0                 3be343b3b3ea        10 hours ago        121MB
[root@localhost ~]# docker push 192.168.88.30:5000/test-project/springboot-docker:1.0The push refers to repository [192.168.88.30:5000/test-project/springboot-docker]fff182a7c29a: Pushed f7b41bda6817: Pushed ed6f0bd39121: Pushed 0c3170905795: Pushed df64d3292fd6: Pushed 1.0: digest: sha256:f37dc7dbb294a3e1eb7f53d8ad7616068dccf7996233bc8b72578d96aabee1fa size: 1366

推送完毕后,通过页面可以看到相应的镜像

拉取私库中的镜像:

docker pull 192.168.88.30:5000/test-project/springboot-docker:1.0

上述就是小编为大家分享的怎样安装企业级docker镜像仓库Harbor了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

镜像 企业 安全 在线 登录 地址 项目 推送 配置 仓库 加速器 文件 服务器 环境 端口 服务 管理 运行 一行 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 stm软件开发环境 数据库文档编写 兰州晋源兴业软件开发有限公司 网络安全知识知 怎么查网络安全成绩 内蒙古大浪互联网科技有限公司 运城网络技术厂家报价 繁星上海网络技术有限公司 生活中的数据库技术论文五千字 怎么在数据库中创建临时表 技术开发 软件开发 税 云服务器ecs的基本安全 信访局网络安全检查总结报告 南邮网络安全答案 软件公司数据库管理 网络安全我有责发言稿 爱泊车停车管理系统数据库配置 推荐1.8版本我的世界服务器 三级网络技术选择题总结 自动化软件开发工资高吗 蓝山服务器 fdprd是什么数据库用户 冠霖网络技术有限公司怎么样 数据库一个关系表会出现什么问题 交通银行软件开发中心工资 博兴快消品管理软件开发 目前普遍应用的网络技术有哪些 怎么利用老电脑做云服务器 技术开发 软件开发 税 数据库表空间单个大小
0