广告
返回顶部
首页 > 资讯 > 精选 >怎么使用docker compose安装harbor私有仓库
  • 825
分享到

怎么使用docker compose安装harbor私有仓库

2023-06-20 12:06:57 825人浏览 泡泡鱼
摘要

这篇文章主要介绍怎么使用Docker compose安装harbor私有仓库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述  harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而dock

这篇文章主要介绍怎么使用Docker compose安装harbor私有仓库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

概述

  harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜像仓库使用。官方的说法是:Harbor是一个用于存储和分发Docker镜像的企业级ReGIStry服务器

  harbor镜像仓库是由VMware开源的一款企业级镜像仓库,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制等诸多功能。

一、harbor特性

基于角色的访问控制:用户和存储库是通过“项目”组织的,用户可以对多个镜像仓库统一命名空间拥有不同的权限。
2、镜像复制:可以基于具有多个Registry实例之间复制(同步)图像和图表。如果出现任何错误,Harbor会自动重试复制。非常适合于负载平衡、高可用性、多数据中心、混合和多云场景。
3、LDAP/AD支持:Harbor与现有企业LDAP/AD集成,用于用户身份验证和管理,并支持将LDAP组导入Harbor并为其分配适当的项目角色。
镜像删除和垃圾收集:镜像可以删除,其空间可以回收。
4、国际化:对多国语言支持(已拥有中文、英文、德文、日语和俄文);
5、图形化用户界面:用户可以轻松浏览、搜索存储库和管理项目。
6、审计管理:跟踪到存储库的所有操作。
7、RESTful api:用于大多数管理操作的RESTful API,易于与外部系统集成。一个嵌入式的swagger用户界面可用于探索和测试API。
简单部署:提供在线和离线安装程序。此外,可以安装到vSphere平台的(OVA方式)虚拟设备。

二、Harbor 组件

proxy:Harbor的组件,如注册表、UI和令牌服务,都位于反向代理之后。代理将来自浏览器和Docker客户机的请求转发到各种后端服务。
2、Registry:负责存储Docker镜像和处理Docker推/拉命令。由于Harbor需要对映像进行访问权限控制,Registry将引导客户机访问令牌服务,以便为每个pull或push请求获取有效的令牌(token)。
3、Core Service:Harbor的核心功能,主要提供以下服务:
1)UI:提供图像化的图形用户界面,帮助人户管理镜像和对用户授权。
2)WEBhook: 为了及时获取registry上images的状态变化的情况,在Registry上配置webhook,把状态变化传递UI模块;
3)Token令牌服务:负责根据用户在项目中的角色为每个docker push/pull命令颁发令牌。如果从Docker客户机发送的请求中没有令牌,注册表将把请求重定向到令牌服务。
4、Datebase:为了给core services提供数据库舒服,负责储存用户权限、审计日志、Docker image分组信息等数据。
5、Job Services:提供镜像远程负责功能,能把本地镜像同步到其他harbor实例当中。
6、Log Collector:为了帮助监控Harbor运行,负责手机其他组件的log,供日后分析。

怎么使用docker compose安装harbor私有仓库

三、部署环境

Centos-7.6   192.168.8.130Docker version 1.19.3Docker-compose version 1.24.2harbor-offline-installer-v1.8.6.tgz

四、安装docker-compose

方式1:[root@centos130 ~]# curl -L https://GitHub.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose[root@centos130 ~]# chmod +x /usr/local/bin/docker-compose方式2:[root@centos130 ~]# wget Https://bootstrap.pypa.io/get-pip.py[root@centos130 ~]# python get-pip.py[root@centos130 ~]# pip install docker-compose

五、卸载docker-compose

#二进制:[root@centos130 ~]rm  /usr/local/bin/docker-compose#pip:[root@centos130 ~]pip uninstall  docker-compose

六、安装docker

[root@centos130 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2添加一个稳定的源[root@centos130 ~]# yum-config-manager --add-repo \    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[root@centos130 ~]# yum makecache fast安装最新稳定版本的docker-ce[root@centos130 ~]# yum install -y docker-ce docker-ce-cli containerd.io vim[root@centos130 ~]# mkdir /etc/docker && vim /etc/docker/daemon.JSON{  "registry-mirrors": ["https://yxrgrke0.mirror.aliyuncs.com"],  "insecure-registries": ["192.168.8.130:5000"],  "insecure-registries": ["centos130:80"],  "log-driver": "json-file",  "log-opts": {    "max-size": "100m",    "max-file": "3"    }}启动docker[root@centos130 ~]# systemctl daemon-reload[root@centos130 ~]# systemctl enable docker && systemctl start docker[root@centos130 ~]# systemctl status docker

七、安装harbor

harbor下载地址:harbor github 地址 https://github.com/Goharbor/harborhttp://harbor.orientsoft.cn/[root@centos130 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.8.6/harbor-offline-installer-v1.8.6.tgz[root@centos130 ~]# tar -xf harbor-offline-installer-v1.8.6.tgz -C /usr/local/[root@centos130 ~]# cd /usr/local/harbor/[root@centos130 ~]# vim harbor.ymlhostname = centos130#这里只是简单的测试,所以只编辑这一行,其他的默认不做修改#禁止用户注册self_registration = off#设置只有管理员可以创建项目project_creation_restriction = adminonly

八、执行安装脚本

[root@centos130 ~]# ./instsll.sh  说明:安装报错 找不到docker-proxy 、 docker-runc执行[root@centos130 ~]# ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc[root@centos130 ~]# ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy查看启动的镜像文件[root@centos130 ~]# docker-compose psHarbor容器的stop与start:[root@centos130 ~]# cd /usr/local/harbor/[root@centos130 ~]# docker-compose stop[root@centos130 ~]# docker-compose start

九、登录harbor

到此便安装完成了,直接打开浏览器登陆,并创建my项目:
默认用户密码是:admin/Harbor12345

怎么使用docker compose安装harbor私有仓库

shell命令行终端登录harbor仓库

[root@centos130 ~]# harbor上传镜像[root@centos130 ~]# docker login centos130:80[root@centos130 ~]# docker login -u admin -p Harbor12345 centos130:80  #账号密码: admin/Harbor12345Username: adminPassWord: Login Succeeded

测试镜像上传

[root@centos130 ~]# docker pull Nginx[root@centos130 ~]# docker tag nginx:latest centos130:80/my/nginx:latest[root@centos130 ~]# docker images[root@centos130 ~]# docker push centos130:80/my/nginx:latestThe push refers to repository [centos130:80/my/nginx]55a77731ed26: Pushed 71f2244bc14d: Pushed f2cb0ecef392: Pushed latest: digest: sha256:3936fb3946790d711a68c58be93628e43cbca72439079e16d154b5db216b58da size: 948说明: 格式为: userip/项目名/image名字:版本号   (项目名需要在webui 提前建好)[root@centos130 ~]# docker imagesREPOSITORY                       TAG                        IMAGE ID            CREATED             SIZEcentos130:80/my/nginx:latest     latest                     5a3221f0137b        5 days ago          126MBnginx                            latest                     5a3221f0137b        5 days ago          126MB删除本地nginx镜像,测试下载[root@centos130 ~]# docker pull centos130:80/my/nginx:latest

十、harbor修改端口号

修改docker-compose.yml文件映射为1180端口:

修改配置文件[root@centos130 ~]# cat /usr/local/harbor/docker-compose.ymlversion: '2.3'services:  log:    image: goharbor/harbor-log:v1.8.6    container_name: harbor-log    restart: always    dns_search: .    cap_drop:      - ALL    cap_add:      - CHOWN      - DAC_OVERRIDE      - SETGID      - SETUID    volumes:      - /var/log/harbor/:/var/log/docker/:z      - ./common/config/log/:/etc/logrotate.d/:z    ports:      - 127.0.0.1:1514:10514    networks:      - harbor  registry:    image: goharbor/registry-photon:v2.7.1-patch-2819-v1.8.6    container_name: registry    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID    volumes:      - /data/registry:/storage:z      - ./common/config/registry/:/etc/registry/:z      - type: bind        source: /data/secret/registry/root.crt        target: /etc/registry/root.crt    networks:      - harbor    dns_search: .    depends_on:      - log    logging:      driver: "syslog"      options:          syslog-address: "tcp://127.0.0.1:1514"        tag: "registry"  registryctl:    image: goharbor/harbor-registryctl:v1.8.6    container_name: registryctl    env_file:      - ./common/config/registryctl/env    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID    volumes:      - /data/registry:/storage:z      - ./common/config/registry/:/etc/registry/:z      - type: bind        source: ./common/config/registryctl/config.yml        target: /etc/registryctl/config.yml    networks:      - harbor    dns_search: .    depends_on:      - log    logging:      driver: "syslog"      options:          syslog-address: "tcp://127.0.0.1:1514"        tag: "registryctl"  postgresql:    image: goharbor/harbor-db:v1.8.6    container_name: harbor-db    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - DAC_OVERRIDE      - SETGID      - SETUID    volumes:      - /data/database:/var/lib/postgresql/data:z    networks:      harbor:    dns_search: .    env_file:      - ./common/config/db/env    depends_on:      - log    logging:      driver: "syslog"      options:          syslog-address: "tcp://127.0.0.1:1514"        tag: "postgresql"  core:    image: goharbor/harbor-core:v1.8.6    container_name: harbor-core    env_file:      - ./common/config/core/env    restart: always    cap_drop:      - ALL    cap_add:      - SETGID      - SETUID    volumes:      - /data/ca_download/:/etc/core/ca/:z      - /data/psc/:/etc/core/token/:z      - /data/:/data/:z      - ./common/config/core/certificates/:/etc/core/certificates/:z      - type: bind        source: ./common/config/core/app.conf        target: /etc/core/app.conf      - type: bind        source: /data/secret/core/private_key.pem        target: /etc/core/private_key.pem      - type: bind        source: /data/secret/keys/secreTKEy        target: /etc/core/key    networks:      harbor:    dns_search: .    depends_on:      - log      - registry    logging:      driver: "syslog"      options:          syslog-address: "tcp://127.0.0.1:1514"        tag: "core"  portal:    image: goharbor/harbor-portal:v1.8.6    container_name: harbor-portal    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID      - NET_BIND_SERVICE    networks:      - harbor    dns_search: .    depends_on:      - log      - core    logging:      driver: "syslog"      options:        syslog-address: "tcp://127.0.0.1:1514"        tag: "portal"  jobservice:    image: goharbor/harbor-jobservice:v1.8.6    container_name: harbor-jobservice    env_file:      - ./common/config/jobservice/env    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID    volumes:      - /data/job_logs:/var/log/jobs:z      - type: bind        source: ./common/config/jobservice/config.yml        target: /etc/jobservice/config.yml    networks:      - harbor    dns_search: .    depends_on:      - redis      - core    logging:      driver: "syslog"      options:        syslog-address: "tcp://127.0.0.1:1514"        tag: "jobservice"  Redis:    image: goharbor/redis-photon:v1.8.6    container_name: redis    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID    volumes:      - /data/redis:/var/lib/redis    networks:      harbor:    dns_search: .    depends_on:      - log    logging:      driver: "syslog"      options:        syslog-address: "tcp://127.0.0.1:1514"        tag: "redis"  proxy:    image: goharbor/nginx-photon:v1.8.6    container_name: nginx    restart: always    cap_drop:      - ALL    cap_add:      - CHOWN      - SETGID      - SETUID      - NET_BIND_SERVICE    volumes:      - ./common/config/nginx:/etc/nginx:z    networks:      - harbor    dns_search: .    ports:      - 1180:80      - 443:443      - 4443:4443    depends_on:      - postgresql      - registry      - core      - portal      - log    logging:      driver: "syslog"      options:          syslog-address: "tcp://127.0.0.1:1514"        tag: "proxy"networks:  harbor:    external: false

修改/etc/docker/daemon.json文件将80修改为1180端口:

修改daemon配置[root@centos130 ~]# cat /etc/docker/daemon.json {  "registry-mirrors": ["https://yxrgrke0.mirror.aliyuncs.com"],  "insecure-registries": ["192.168.8.130:5000"],  "insecure-registries": ["centos130:1180"],  "log-driver": "json-file",  "log-opts": {    "max-size": "100m",    "max-file": "3"    }}

修改/usr/locat/harbor/harbor.yml文件的hostname

修改hostname配置cat /usr/locat/harbor/harbor.ymlhostname: centos130:1180

停止harbor,重新启动并生成配置文件

重新初始化[root@centos130 ~]# cd /usr/locat/harbor/[root@centos130 ~]# docker-compose stop[root@centos130 ~]# ./install.sh

重新启动docker

[root@centos130 ~]# systemctl daemon-reload[root@centos130 ~]# systemctl restart docker.service验证[root@centos130 ~]# docker login centos130:1180Username: adminPassword: Harbor12345

以上是“怎么使用docker compose安装harbor私有仓库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 怎么使用docker compose安装harbor私有仓库

本文链接: https://www.lsjlt.com/news/296659.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用docker compose安装harbor私有仓库
    这篇文章主要介绍怎么使用docker compose安装harbor私有仓库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述  harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而dock...
    99+
    2023-06-20
  • 使用docker compose安装harbor私有仓库的详细教程
    概述   harbor是什么呢?英文单词的意思是:港湾。港湾用来存放集装箱(货物的),而docker的由来正是借鉴了集装箱的原理,所以harbor是用于存放docker的镜像,作为镜...
    99+
    2022-11-12
  • Docker私有仓库Harbor怎么部署
    本篇内容主要讲解“Docker私有仓库Harbor怎么部署”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker私有仓库Harbor怎么部署”吧!一、Harbor仓库介绍我们在日常Docke...
    99+
    2023-06-29
  • 使用docker-compose与私有仓库
    介绍 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许开发人员将他们的应用程序堆栈定义为一个 YAML 文件,只需几个命令就可以轻松创建复杂的环境。然而,使用 Docker Compose 与私...
    99+
    2023-10-22
  • 怎样安装企业级docker镜像仓库Harbor
    这期内容当中小编将会给大家带来有关怎样安装企业级docker镜像仓库Harbor,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Harbor官方介绍 Harbor是一个用于存储和分发Docker镜...
    99+
    2023-06-19
  • kubernetes中怎么使用Harbor作为私有镜像仓库
    这篇文章主要介绍了kubernetes中怎么使用Harbor作为私有镜像仓库,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:前言Harbor使用了基于角色的访问控制策略,当...
    99+
    2023-06-04
  • 基于Harbor构建docker私有仓库的方法是什么
    基于Harbor构建docker私有仓库的方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一.harbor简介基于镜像的复制策略;支持LDAP/AD域,...
    99+
    2023-06-21
  • 企业级docker私有仓库harbor在Ubuntu14.04上的部署与使用
    一、harbor简介:  简单的说,Harbor 是一个企业级的 Docker Registry,可以实现 p_w_picpaths 的私有存储和日志统计权限控制等功能,并支持创建多项目...
    99+
    2022-10-18
  • docker怎么搭建私有仓库
    要搭建私有仓库,您可以按照以下步骤操作: 安装Docker:确保您的系统中已经安装了Docker。具体安装步骤可以参考Docke...
    99+
    2023-10-26
    docker
  • Docker Compose怎么安装和使用
    这篇文章主要介绍了Docker Compose怎么安装和使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker Compose怎么安装和使用文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-07-06
  • 怎么在ubuntu12.04安装nexus-maven私有仓库
    这篇文章主要介绍“怎么在ubuntu12.04安装nexus-maven私有仓库”,在日常操作中,相信很多人在怎么在ubuntu12.04安装nexus-maven私有仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-06-13
  • docker私有镜像仓库怎么搭建
    要搭建一个Docker私有镜像仓库,可以按照以下步骤进行操作:1. 安装Docker:首先确保你的服务器上已经安装了Docker引擎...
    99+
    2023-09-23
    docker
  • 怎么删除docker私有仓库镜像
    要删除Docker私有仓库中的镜像,可以按照以下步骤进行操作:1. 首先,使用以下命令查看私有仓库中的镜像列表:docker ima...
    99+
    2023-10-19
    docker
  • Linux中怎么搭建Docker私有仓库
    本篇内容主要讲解“Linux中怎么搭建Docker私有仓库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中怎么搭建Docker私有仓库”吧!1、下载registry镜像[root@lo...
    99+
    2023-06-27
  • 怎么搭建配置Docker私有仓库
    这篇文章主要讲解了“怎么搭建配置Docker私有仓库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建配置Docker私有仓库”吧!⛳️ 1.Docker容器三要素Docker 是一个开...
    99+
    2023-07-02
  • Docker怎么上传镜像至私有仓库
    这篇文章主要讲解了“Docker怎么上传镜像至私有仓库”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么上传镜像至私有仓库”吧!镜像可以很方便直...
    99+
    2022-10-19
  • Docker私有仓库怎么打开2375端口
    这篇文章主要介绍了Docker私有仓库怎么打开2375端口的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker私有仓库怎么打开2375端口文章都会有所收获,下面我们一起来看看吧。1、修改配置登录docke...
    99+
    2023-07-05
  • docker私有仓库如何搭建与使用
    本篇内容主要讲解“docker私有仓库如何搭建与使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker私有仓库如何搭建与使用”吧!环境规划需要两台机器:...
    99+
    2022-10-19
  • harbor可视化私有镜像仓库环境及服务怎么部署
    这篇文章主要介绍“harbor可视化私有镜像仓库环境及服务怎么部署”,在日常操作中,相信很多人在harbor可视化私有镜像仓库环境及服务怎么部署问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”harbor可视化...
    99+
    2023-06-30
  • 怎么用自签名方式搭建Docker私有仓库
    本篇内容主要讲解“怎么用自签名方式搭建Docker私有仓库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用自签名方式搭建Docker私有仓库”吧!准备环境环...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作