使用docker-compose创建,此方法简单,问题是无法做到高可用。

环境准备:

Harbor使用最新版本的harbor-offline-installer-v2.0.2.tgz

下载链接:

https://github.com/goharbor/harbor/releases/download/v2.0.2/harbor-offline-installer-v2.0.2.tgz

软件要求:

docker 17.06.0-ce+ and docker-compose 1.18.0+

服务器硬件要求:

服务器最低要求2核4G内存,40G磁盘

搭建步骤:

1.安装docker,yum添加docker.repo

[docker]baseurl = https://mirrors.aliyun.com/docker-ce/linux/centos/7/$basearch/stableenabled = 1gpgcheck = 1gpgkey = https://mirrors.aliyun.com/docker-ce/linux/centos/gpgname = Docker CE Stable - $basearch

sudo yum install docker-ce -y

sudo systemctl enable docker && sudo systemctl start docker

2.安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesudo chmod +x /usr/local/bin/docker-compose

3.解压harbor文件到/usr/local/

sudo tar xvf harbor-offline-installer-v2.0.2.tgz -C /usr/local/

4.编辑harbor.yml

cd /usr/local/harbor

cp harbor.yml.tmpl harbor.yml

修改harbor.yml

# Configuration file of Harbor# The IP address or hostname to access admin UI and registry service.# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.#hostname: reg.mydomain.comhostname: registry.test.com# http related confighttp:  # port for http, default is 80. If https enabled, this port will redirect to https port  port: 80# https related config#https:  # https port for harbor, default is 443#  port: 443  # The path of cert and key files for nginx#  certificate: /your/certificate/path#  private_key: /your/private/key/path# # Uncomment following will enable tls communication between all harbor components# internal_tls:#   # set enabled to true means internal tls is enabled#   enabled: true#   # put your cert and key files on dir#   dir: /etc/harbor/tls/internal# Uncomment external_url if you want to enable external proxy# And when it enabled the hostname will no longer used# external_url: https://reg.mydomain.com:8433# The initial password of Harbor admin# It only works in first time to install harbor# Remember Change the admin password from UI after launching Harbor.harbor_admin_password: xxxxxxx# Harbor DB configurationdatabase:  # The password for the root user of Harbor DB. Change this before any production use.  password: root123  # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.  max_idle_conns: 50  # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.  # Note: the default number of connections is 100 for postgres.  max_open_conns: 100# The default data volumedata_volume: /data#data_volume:# Harbor Storage settings by default is using /data dir on local filesystem# Uncomment storage_service setting If you want to using external storage#   # ca_bundle is the path to the custom root ca certificate, which will be injected into the truststore#   # of registry's and chart repository's containers.  This is usually needed when the user hosts a internal storage with self signed certificate.#   ca_bundle:storage_service:#    ca_bundle:  oss:    accesskeyid: xxxxxx    accesskeysecret: xxxxxxx    region: oss-cn-xxxxx-internal.aliyuncs.com    endpoint: harbor-aliyun.oss-cn-xxxxx-internal.aliyuncs.com#    internal: true    bucket: harbor-aliyun#      redirect:#        disable: false#   # storage backend, default is filesystem, options include filesystem, azure, gcs, s3, swift and oss#   # for more info about this configuration please refer https://docs.docker.com/registry/configuration/#   filesystem:#     maxthreads: 100#   # set disable to true when you want to disable registry redirect#   redirect:#     disabled: false# Clair configurationclair:  # The interval of clair updaters, the unit is hour, set to 0 to disable the updaters.  updaters_interval: 12# Trivy configurationtrivy:  # ignoreUnfixed The flag to display only fixed vulnerabilities  ignore_unfixed: false  # skipUpdate The flag to enable or disable Trivy DB downloads from GitHub  #  # You might want to enable this flag in test or CI/CD environments to avoid GitHub rate limiting issues.  # If the flag is enabled you have to manually download the `trivy.db` file and mount it in the  # /home/scanner/.cache/trivy/db/trivy.db path.  skip_update: false  #  # insecure The flag to skip verifying registry certificate  insecure: false  # github_token The GitHub access token to download Trivy DB  #  # Trivy DB contains vulnerability information from NVD, Red Hat, and many other upstream vulnerability databases.  # It is downloaded by Trivy from the GitHub release page https://github.com/aquasecurity/trivy-db/releases and cached  # in the local file system (/home/scanner/.cache/trivy/db/trivy.db). In addition, the database contains the update  # timestamp so Trivy can detect whether it should download a newer version from the Internet or use the cached one.  # Currently, the database is updated every 12 hours and published as a new release to GitHub.  #  # Anonymous downloads from GitHub are subject to the limit of 60 requests per hour. Normally such rate limit is enough  # for production operations. If, for any reason, it's not enough, you could increase the rate limit to 5000  # requests per hour by specifying the GitHub access token. For more details on GitHub rate limiting please consult  # https://developer.github.com/v3/#rate-limiting  #  # You can create a GitHub token by following the instuctions in  # https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line  #  # github_token: xxxjobservice:  # Maximum number of job workers in job service  max_job_workers: 10notification:  # Maximum retry count for webhook job  webhook_job_max_retry: 10chart:  # Change the value of absolute_url to enabled can enable absolute url in chart  absolute_url: disabled# Log configurationslog:  # options are debug, info, warning, error, fatal  level: info  # configs for logs in local storage  local:    # Log files are rotated log_rotate_count times before being removed. If count is 0, old versions are removed rather than rotated.    rotate_count: 50    # Log files are rotated only if they grow bigger than log_rotate_size bytes. If size is followed by k, the size is assumed to be in kilobytes.    # If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes. So size 100, size 100k, size 100M and size 100G    # are all valid.    rotate_size: 200M    # The directory on your host that store log    location: /var/log/harbor  # Uncomment following lines to enable external syslog endpoint.  # external_endpoint:  #   # protocol used to transmit log to external endpoint, options is tcp or udp  #   protocol: tcp  #   # The host of external endpoint  #   host: localhost  #   # Port of external endpoint  #   port: 5140#This attribute is for migrator to detect the version of the .cfg file, DO NOT MODIFY!_version: 2.0.0# Uncomment external_database if using external database.# external_database:#   harbor:#     host: harbor_db_host#     port: harbor_db_port#     db_name: harbor_db_name#     username: harbor_db_username#     password: harbor_db_password#     ssl_mode: disable#     max_idle_conns: 2#     max_open_conns: 0#   clair:#     host: clair_db_host#     port: clair_db_port#     db_name: clair_db_name#     username: clair_db_username#     password: clair_db_password#     ssl_mode: disable#   notary_signer:#     host: notary_signer_db_host#     port: notary_signer_db_port#     db_name: notary_signer_db_name#     username: notary_signer_db_username#     password: notary_signer_db_password#     ssl_mode: disable#   notary_server:#     host: notary_server_db_host#     port: notary_server_db_port#     db_name: notary_server_db_name#     username: notary_server_db_username#     password: notary_server_db_password#     ssl_mode: disable# Uncomment external_redis if using external Redis server# external_redis:#   host: redis#   port: 6379#   password:#   # db_index 0 is for core, it's unchangeable#   registry_db_index: 1#   jobservice_db_index: 2#   chartmuseum_db_index: 3#   clair_db_index: 4#   trivy_db_index: 5#   idle_timeout_seconds: 30# Uncomment uaa for trusting the certificate of uaa instance that is hosted via self-signed cert.# uaa:#   ca_file: /path/to/ca# Global proxy# Config http proxy for components, e.g. http://my.proxy.com:3128# Components doesn't need to connect to each others via http proxy.# Remove component from `components` array if want disable proxy# for it. If you want use proxy for replication, MUST enable proxy# for core and jobservice, and set `http_proxy` and `https_proxy`.# Add domain to the `no_proxy` field, when you want disable proxy# for some special registry.proxy:  http_proxy:  https_proxy:  no_proxy:  components:    - core    - jobservice    - clair    - trivy

核心配置是

hostname: registry.test.com

harbor_admin_password: xxxxxxxx

下面是添加oss作为仓库的存储后端:

storage_service:# ca_bundle:oss:accesskeyid: xxxxxxaccesskeysecret: xxxxxxxregion: oss-cn-xxxxx-internal.aliyuncs.comendpoint: harbor-aliyun.oss-cn-xxxxx-internal.aliyuncs.com# internal: truebucket: harbor-aliyun

以上配置的值可以在阿里云OSS控制台上查找获取。

5.生产docker-compose文件,并启用镜像漏洞扫描trivy以及helm的chart仓库支持

./prepare --with-clair --with-trivy --with-chartmuseum  

6. 启动harbor

docker-compose up -d

harbor安装_Harbor简单安装部署,镜像仓库存储使用阿里云OSS相关推荐

  1. Typora简单传图(Typora+PicGo-Core+SMMS/阿里云OSS 实现图床)

    这绝对是一件令人开心的事,以至于迫不及待要记录一下.Typora终于可以愉快的上传图片了,自动图床,设置超级简单,以后写带图片的博客,Typora产出的markdown文件就可以直接导入网页啦! 升级 ...

  2. Docker镜像仓库(包括阿里云,harbor,和本地镜像的导出和导入)

    Docker镜像仓库 什么是镜像仓库 存放着很多镜像的仓库 为什么要使用镜像仓库 1. 起到备份的作用 2. 方便其他机器下载使用 镜像仓库的种类 公共镜像仓库 官方: http://hub.dock ...

  3. 容器化技术与微服务结合---结合springcloud微服务框架进行部署(含切换成阿里云docker仓库)(五)

    目录 系列 更换成阿里云仓库 开通阿里云镜像服务 创建仓库 本地k8s切换成阿里云的镜像仓库 测试阿里云镜像 准备简单的微服务 eureka 应用配置 k8s配置: demo-a 应用配置 k8s配置 ...

  4. 阿里云OSS域名配置及简单上传

    目前开发系统,附件文件一般都会使用第三方的存储空间来保存,一方面是为了开发者提供便利,另一方可以减轻系统的访问压力,下面介绍一下阿里云的OSS的一些简单配置和使用. 一.阿里云OSS配置 前提:你需要 ...

  5. dockerfile构建一个(python+flask+html)镜像 + 上传到阿里云私有仓库 + 部署到k8s---全过程

    前言 因为之前根据一些网上的教程一个个部分实践过整个部署流程,但都是根据现有的程序/ymal文件等进行创建部署,未能根据自己特定的项目进行部署.因此,这篇博文,打算完整部署一个自己编写的python+ ...

  6. docker脚本安装 阿里云_让运行在 Docker 中的 Ghost 支持阿里云 OSS

    本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载.或重新修改使用,但需要注明来源. 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2020年03月1 ...

  7. 安装es怎么在后台运行_ES备份索引数据到阿里云OSS

    ES的快照备份当前是存放在NAS下,考虑成本问题现在打算把快照备份到阿里云OSS下. https://github.com/aliyun/elasticsearch-repository-oss,此插 ...

  8. 将本地docker镜像推送到阿里云仓库

    1. 进入到个人的阿里云容器镜像服务阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,创建命名空间 2. 创建仓库 选择本地仓库  创建成功后会生成一个操作指南 3. 将本地镜像推送到阿里云仓 ...

  9. linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]

    linux安装svn及实现SVN与WEB同步解决方案[阿里云] 1.环境 Linux AY1305140905015863a2Z 2.6.32-279.el6.x86_64 #1 SMP Fri Ju ...

最新文章

  1. Cortex-M0微处理器异常入口流程的细节
  2. 罗斯霍曼理工学院计算机毕业生,全美最强STEM大学,了解一下?
  3. 【USACO 2.1】The Castle
  4. Spring3 MVC+Spring+Spring Jdbc实现的权限管理系统,可以控制到增删改查
  5. sql 占比计算_数据库索引的优化及SQL处理过程(建议收藏)
  6. oracle数据库监听问题,分享一个有意思的Oracle19c数据库监听异常
  7. 服务器维修解锁,云服务器解锁
  8. arcgis engine设置数据源路径_不用ArcGIS做前期分析,你是不是想被辞!
  9. python找出数组中第2大的数字
  10. maplesoft maple 2020
  11. 如何Python写一个安卓APP
  12. Java开源框架集(全)
  13. python实现ftp_python实现ftp(客户端)
  14. 有向加权图 最大弱连通分支_指数基金介绍专栏:指数基金的加权方式,你都知道哪些?...
  15. 2019314输入一个日期,输出星期几
  16. 【历史上的今天】7 月 12 日:世界上第一台商用数字计算机;Python 之父卸任 BDFL;Wacom 成立
  17. 在通用计算机内 PC是指,计算机模拟考试题答案
  18. Integer对象的大小比较
  19. NBA常规赛总三分排行榜(数据截止至11年4月14日)
  20. 五节课从零起步(无需数学和Python基础)编码实现AI人工智能框架电子书V1

热门文章

  1. Kotlin学习笔记 第四章Kotlin调用Java
  2. 机器学习的MLE和MAP:最大似然估计和最大后验估计
  3. 【图像处理基础知识(python+openCV)】——目标检测
  4. 如何使用IntelliJ IDEA搭建spark开发环境(上)
  5. 设计模式--缺省适配模式
  6. Node.js抓取网页信息并展示(cheerio网络爬虫)
  7. ListView练习_购物商城
  8. 无损链接分解_一点都不能少!伯克利研究人员提出深度学习锻造无损数据压缩新方法...
  9. centos7全盘备份到本地_CentOS7 系统盘迁移案例【大硬盘迁移到小硬盘,新思路】...
  10. 机器人与目标匹配问题及解决 虚拟动力学 纳什平衡 Q-Learning