企业级镜像仓库 harbor
企业级镜像仓库 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的更多相关文章
- 企业级镜像仓库harbor搭建
企业级镜像仓库harbor搭建 一. Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...
- Docker: 企业级镜像仓库Harbor的使用
上一节,演示了Harbor的安装部署 这次我们来讲解 Harbor的使用. 我们需要了解到: 1. 如何推镜像到镜像仓库 2. 如何从镜像仓库拉取镜像 3. 如何运行从私有仓库拉取的镜像 # 查看 h ...
- docker进阶-搭建私有企业级镜像仓库Harbor
为什么要搭建私有镜像仓库 对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...
- 企业级镜像仓库Harbor
介绍: Habor是由VMWare公司开源的容器镜像仓库.事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面, ...
- 使用docker搭建“企业级镜像仓库”Harbor
一.前沿 docker的官方镜像仓库registry,功能比较单一,不太好用,特别是删除镜像操作,不够友好. Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一 ...
- 【Docker】企业级镜像仓库harbor的搭建(http/https)及使用
一:用途 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 二:安装docker-ce 环境:阿里云轻量应用服务器CentOS 7.3 这里通过yum Docker源仓 ...
- docker企业级镜像仓库Harbor管理
Harbor概述 Harbor是由VMWare公司开源的容器镜像仓库.事实上,Harbor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括: ...
- Docker 企业级镜像仓库 Harbor 的搭建与维护
目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...
- Docker企业级镜像仓库harbor(vmware 中国团队)
第一步:安装docker和docker-compose 第二步:下载harbor-offline-installer-v1.3.0.tgz 第三步:上传到/opt,并解压 第四步:修改harbor.c ...
随机推荐
- MySQL:获取元数据
元数据就是描述数据的数据,在很多时候我们都需要查询元数据 比如:想知道数据库有多少个表,表里面有哪些字段,数据表是什么时候创建的.在什么时候更新过等等 使用SQL注入的时候也得获取数据库的元数据才能进 ...
- 【Lua篇】静态代码扫描分析(二)词法分析
一.词法分析 词法分析(英语:lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的过程.进行词法分析的程序或者函数叫作词法分析器(Lexical analyzer, ...
- JavaScript new 关键词解析及原生实现 new
java里面,new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,原型语言没类,只有对象与原型链继承 JavaScript 中 new 表达式的作用是生成 ...
- rabbitMQ通过@RabbitListener和配置文件XML创建exchange及队列绑定关系
1.@RabbitListener 2.配置文件 <rabbit:fanout-exchange name="fanoutExchange" xmlns="http ...
- pikachu PHP反序列化 XXE SSRF
PHP反序列化在理解这个漏洞前,你需要先搞清楚php中serialize(),unserialize()这两个函数. 另外这个漏洞一般是在代码审计的时候发现的,在扫描或者黑盒测试的时候很难发现.1.序 ...
- SQL 练习13
查询没学过"张三"老师讲授的任一门课程的学生姓名 SELECT * from Student WHERE SId not in ( SELECT SC.SId from Teach ...
- 数据结构与算法-排序(九)基数排序(Radix Sort)
摘要 基数排序是进行整数序列的排序,它是将整数从个位开始,直到最大数的最后一位截止,每一个进位(比如个位.十位.百位)的数进行排序比较. 每个进位做的排序比较是用计数排序的方式处理,所以基数排序离不开 ...
- docker 部署mysql连接问题
发现windows上有一个docker descktop(虽然不怎么好用), 安装之后准备直接用docker搭本地测试环境的基础设施(比如MySQL,Redis,MongoDB,ES啥的), 虽然比去 ...
- 简单实现Linux服务器重启后自动启动Tomcat以及MongoDB
1.场景描述 做一个网站差不多都会用到tomcat,用阿里云镜像市场提供的镜像里的tomcat是方便的,但是自己喜欢折腾,所以就自己在服务器里装了一个tomcat 但是有一次服务器被关了,然后自己要到 ...
- 你知道那些JVM性能调优
设定堆内存大小 -Xms :堆初始空间大小 -Xmx : 堆内存最大限制. 设置新生代大小.新生代不宜太小,否则会有大量对象涌入老年代 -XX:NewSize : 新生代大小 -XX:NewRatio ...