企业级镜像仓库 harbor

前言

a. 本文主要为 Docker的视频教程 笔记。

b. 环境为 CentOS 7.0 云服务器

c. 上一篇:跨 Docker 宿主机网络 overlay 类型

harbor 所具备的 docker-registry 不具备的优势:界面友好,有用户权限划分,删除镜像方便,可以配置 https

下载和安装

主要步骤:下载安装文件并解压,修改配置文件,执行脚本

具体安装步骤可参考 harbor 官方安装文档

由于使用云服务器无法从 github 上下载,先下载到本地后上传至云服务器。注意,如果 ssh 的端口号不是默认,需要在 scp 命令后紧跟 -P 以指定

修改配置文件,将其中的 hostname 为自己服务器的外网 ip 地址,password 部分按需修改。同时需要需要注释 https 部分,否则会报错(如果启用 https,则自动将 http请求重定向到 https):

Error happened in config validation...

ERROR:root:Error: The protocol is https but attribute ssl_cert is not set

教学视频中的配置文件为 harbor.cfg,而我下载下来的为 harbor.yml,但其中的内容大致相同

在本地电脑(Ubuntu 18.04)中准备了镜像,推送到云服务器上。需要先在本地的 Docker 中配置信任该镜像站点(在 /etc/docker/daemon.json 中),在 insecure-registries 数组中添加服务器地址,否则会报 443端口拒绝连接:

还需要使用 docker login 命令登录,否则会报未授权:

成功上传镜像:

注意:上传镜像需要登录,而下载镜像则不需要

配置 https

下载申请到的证书。由于 harbor 的使用 Nginx 服务器,因此只需要 Nginx 的证书即可。将 hostname 改为 证书相匹配的域名将 https 相关的注释去除设置好证书的路径

配置完成后,删除已经运行的容器,重新执行安装脚本 install.sh,之后可以使用域名访问,并可以发现默认使用了 https:

此时,删除 /etc/docker/daemon.json 中的 insecure-registries 配置,重启 Docker 服务。可以正常拉取镜像而不报错:

root@battor-OMEN:/home/battor# docker pull www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421: Pulling from library/busybox_ana

Digest: sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

Status: Downloaded newer image for www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

www.example.site/library/busybox_ana@sha256:96692dc2b25f83d085b6d6344d3c18ccbddc4b325907433a9ca4a805b7855421

参考

使用SCP命令上传文件

https://www.cnblogs.com/magicc/p/6490566.html

企业级镜像仓库 harbor的更多相关文章

  1. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  2. Docker: 企业级镜像仓库Harbor的使用

    上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...

  3. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  4. 企业级镜像仓库Harbor

    介绍: Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面, ...

  5. 使用docker搭建“企业级镜像仓库”Harbor

    一.前沿 docker的官方镜像仓库registry,功能比较单一,不太好用,特别是删除镜像操作,不够友好. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一 ...

  6. 【Docker】企业级镜像仓库harbor的搭建(http/https)及使用

    一:用途 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 二:安装docker-ce 环境:阿里云轻量应用服务器CentOS 7.3 这里通过yum Docker源仓 ...

  7. docker企业级镜像仓库Harbor管理

    Harbor概述 Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括: ...

  8. Docker 企业级镜像仓库 Harbor 的搭建与维护

    目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...

  9. Docker企业级镜像仓库harbor(vmware 中国团队)

    第一步:安装docker和docker-compose 第二步:下载harbor-offline-installer-v1.3.0.tgz 第三步:上传到/opt,并解压 第四步:修改harbor.c ...

随机推荐

  1. Java面板Panel的使用,监听窗口关闭事件

    面板Panel的使用 待解决问题: 1.设计模式:适配器模式 2.frame.setLayout(null); package GUI; import javax.swing.*; import ja ...

  2. Spring Cloud Aliaba - Ribbon

    Ribbon(有关介绍见RestTemplate末尾) Ribbon负载均衡实现策略 Ribbon负载均衡实现策略通过接口IRule进行实现,默认使用ZoneAvoidanceRule规则进行负载均衡 ...

  3. thunderbird发送纯文本邮件

    向邮件列表中发邮件时,要求邮件格式必须是纯文本格式的,在thunderbird中,邮件格式(plain text或者html格式)在[工具->账户设置->[账户名称]->通讯录]下的 ...

  4. 终极蛇皮上帝视角之铁头娃之鲁迅之暑假闲的慌之bilibili看尚学堂网课的非洲酋长java小复习

    转自https://www.sxt.cn/Java_jQuery_in_action/eight-cache-problem.html 第一个点 自动装箱与拆箱的功能是所谓的"编译器蜜糖(C ...

  5. 000 PCI Express协议入门指南目录

    一.001 PCI Express体系结构(一)

  6. Docker运行sonarqube-(代码质量检测平台)

    sonarqube是什么 SonarQube是用于持续检查代码质量的开源平台. 可用于持续集成,持续部署流程中的代码检测环节. idea和jenkins都提供了插件配合使用. liunx推荐配置环境 ...

  7. C# AppDomain 详解

    AppDomain 详解 AppDomain是CLR的运行单元,它可以加载Assembly.创建对象以及执行程序. AppDomain是CLR实现代码隔离的基本机制.每一个AppDomain可以单独运 ...

  8. HttpClient4.3 教程 第五章 快速API

    5.1.Easy to use facade API HttpClient从4.2开始支持快速api.快速api仅仅实现了HttpClient的基本功能,它只要用于一些不需要灵活性的简单场景.例如,快 ...

  9. vue爬坑之路1-路由跳转全新页面以及二级页面配置

    之前也在网找了一些答案,比较零碎,特此总结下,废话不多说,直接上干货! 路由跳转全新页面 首先在app.vue中先定义router-view,这是主路由. 在router的index.js中引入log ...

  10. 关于int和Integer缓存(二):修改缓存大小

    续上文: java中的基础数据类型长度是否取决于操作系统? 在一些语言中,数据类型的长度是和操作系统有关系的,比如c和c++: 但是在java中,java的基础类型长度都是固定的,都是4个字节.因为j ...