Docker 私有仓库 Harbor registry 安全认证搭建 [Https]
Harbor源码地址:https://github.com/vmware/harborHarbort特性:
基于角色控制
用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限。
基于镜像的复制策略
镜像可以在多个 Harbor 实例之间进行复制。
支持 LDAP
Harbor 的用户授权可以使用已经存在 LDAP 用户。
镜像删除 & 垃圾回收
Image 可以被删除并且回收 Image 占用的空间,绝大部分的用户操作 API, 方便用户对系统进行扩展。
用户 UI
用户可以轻松的浏览、搜索镜像仓库以及对项目进行管理。
轻松的部署功能
Harbor 提供了 online、offline 安装, 除此之外还提供了 virtual appliance 安装
系统要求:
docker 1.10.0 以上版本,安装文档:https://docs.docker.com/engine/installation/
docker-compose 1.6.0 以上版本,安装文档:https://docs.docker.com/compose/install/软件安装:yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python2-pip
yum -y install docker
启动 docker,使用如下命令行:
systemctl start docker
systemctl enable docker
使用 pip 方式安装 docker-compose,使用如下命令:
pip install -U docker-compose
查看 docker-compose 的版本,如下:
docker-compose version
离线版本下载:
https://github.com/vmware/harbor/releases以v1.1.2版本为例
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgzmv harbor-offline-installer-v1.1.2.tgz /data/ && cd /data/tar xvf harbor-offline-installer-v1.1.2.tgz
mkdir -p /data/harbor/cert
切换工作路径切证书存放目录
cd /data/harbor/cert
创建CA根证书
openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout ca.key -x509 -days 365 \
-out ca.crt -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor-registry"
生成一个证书签名, 设置访问域名为harbor.test.com
openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout harbor.test.com.key \
-out server.csr -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor.test.com"
生成主机证书
openssl x509 -req -days 365 \
-in server.csr -CA ca.crt -CAkey ca.key \
-CAcreateserial -out harbor.test.com.crt
配置文件修改:
vim harbor.cfg
# 根据需求进行配置,至少修改 host 改为 harbor 服务器的 IP 地址或者域名
hostname = harbor.test.com
ui_url_protocol = https
# 邮件相关信息配置,如忘记密码发送邮件
email_server = smtp.163.com
email_server_port = 25
email_username = vip_star_hr@163.com
email_password = xxxxxx
email_from = docker <vip_star_hr@163.com>
email_ssl = false
# 设置证书路径
ssl_cert = /data/harbor/cert/harbor.test.com.crt
ssl_cert_key = /data/harbor/cert/harbor.test.com.key
通过自带脚本一键安装
sh install.sh
通过浏览器访问管理 [提前设置本地hosts文件本地重定向至harbor服务器IP]
https://harbor.test.com
用户默认为 admin
密码默认为 Harbor12345
客户端使用测试
创建 public 项目, 访问级别选择公开
创建仓库证书存放目录
mkdir /etc/docker/certs.d/harbor.test.com
从 harbor 服务器获取证书至仓库证书目录
scp root@harbor-server-ip:/data/harbor/cert/ca.crt /etc/docker/certs.d/harbor.test.com/ca.crt
用户登陆[ 本地需要做 hosts harbor.test.com 域名重定向至 harbor 服务器 IP]
docker login -u admin -p Harbor12345 harbor.test.com
提示"Login Succeeded"既成功
docker下载redis镜像:
docker pull redis
使用docker tag将镜像改名
上传镜像到harbor仓库
登录web查看镜像是否上传成功
删除本地镜像
docker rmi harbor.test.com/public/redis:v1.0.0
从harbor中下载镜像
docker pull harbor.lisea.cn/public/redis:v1.0.0
其他说明:
停止 Harbor 服务:
$ docker-compose stop
启动 Harbor 服务:
$ docker-compose start
如果需要修改 Harbor 的配置,首先需要停掉正在运行的 Harbor 实例,更新 harbor.cfg 文件,再次运行install.sh
$ docker-compose down
$ vim harbor.cfg
$ sh install.sh
删除 Harbor 容器,保存镜像文件和 Harbor 的数据库文件:
$ sudo docker-compose rm
删除 Harbor 的数据库信息和镜像文件 (一般为了纯净安装):
$ rm -r /data/database
$ rm -r /data/registry
默认情况下,regirstry 的数据被持久化到目标主机的/data/目录,当 Harbor 的容器被删除或者重新创建的时候,数据不会有任何改变
Docker 私有仓库 Harbor registry 安全认证搭建 [Https]的更多相关文章
- docker 私有仓库 harbor docker-compose
c创建docker私有仓库 docker pull registry:2.1.1 mkdir /opt/registry#mkdir /var/lib/registry docker run -d - ...
- 微服务探索之路03篇-docker私有仓库Harbor搭建+Kubernetes(k8s)部署私有仓库的镜像
❝ 目录: 微服务探索之路01篇.net6.0项目本地win10系统docker到服务器liunx系统docker的贯通 微服务探索之路02篇liunx ubuntu服务器部署k8s(kubernet ...
- Docker私有仓库Harbor部署与使用
一.harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器. 由下面几个组件组成: proxy:nginx前端代理,主要是分发前端页面ui访问和镜像上传和下载 ...
- 企业级Docker私有仓库Harbor
一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docke ...
- 物联网架构成长之路(44)-Docker私有仓库Harbor
0. 前言 安装docker.docker-compose,这些在我以前的博客讲过,这里就不继续说明了,有需要的可以参考我之前的博客. https://www.cnblogs.com/wunaozai ...
- docker私有仓库-harbor
简单说一下Harbor的部署,踩了几个坑,参考同事大神的配置文件,一脸懵逼的部署出来了,其中部分内容参考了网上一些大神的文档,本篇文章仅供参考学习,如有雷同,万分荣幸. 这篇文档仅限于centos7参 ...
- 搭建docker私有仓库(https)
1.修改openssl.cnf,支持IP地址方式,HTTPS访问在Redhat7或者Centos系统中,文件所在位置是/etc/pki/tls/openssl.cnf.在其中的[ v3_ca]部分,添 ...
- 手把手教你搭建Docker私有仓库
章节一:centos7 docker安装和使用_入门教程 章节二:使用docker部署Asp.net core web应用程序 有了前面的基础,接下来的操作就比较简单了.先准备两台虚拟机,两台机器上都 ...
- Docker 私有仓库建立(加密和用户验证)
(一)生成证书1.mkdir /certs2.cd /certs 3.生成自签名证书 sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days ...
随机推荐
- java高精度学习笔记
高精度基本用法 valueOf(parament) 将参数转换为指定的类型 add() 相加 subtract() 相减 multiply() 相乘 divide() ...
- 【学习总结】C-翁恺老师-入门-第3周<循环>
[学习总结]C-翁恺老师-入门-总 1-求一个整数的位数:引入循环while 注:循环体内要有改变循环的机会,要不然就死循环了啊! 注:手写推测程序是否正确. 注:测试程序-边界:个位数.10.0.负 ...
- Jeecg-Boot Spring Boot
Jeecg-Boot 1.0 发布,企业级快速开发平台 - 开源中国https://www.oschina.net/news/104889/jeecg-boot-1-0-released
- 正则校验:微信号,qq号,邮箱
java判断微信号.手机.名字的正则表达 - willgos - 博客园https://www.cnblogs.com/solossl/p/5813106.html 微信号正则校验,qq正则,邮箱正则 ...
- react单组件 渲染页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Day 4-7 -configparser模块
此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 常用方法: import configparser conf = configpar ...
- ArcGIS DeskTop 10.2 的安装与破解
ArcGIS DeskTop 10.2套件作为一组常用的ArcGIS软件为我们提供了对地图原始数据进行加工以及各种操作,通过这组软件我们能够很好地定制我们最终的地图样式,但是更多的时候我们需要对这组软 ...
- DAY07、字符编码和文件操作
一.字符编码 1.什么是字符编码? 人类能识别的是字符等高级标识符,电脑只能识别0,1组成的标识符,要完成人与机器之间的信息交流, 一定需要一个媒介,进行两种标识符的转化(两 ...
- Java多线程6:Synchronized锁代码块(this和任意对象)
一.Synchronized(this)锁代码块 用关键字synchronized修饰方法在有些情况下是有弊端的,若是执行该方法所需的时间比较长,线程1执行该方法的时候,线程2就必须等待.这种情况下就 ...
- python数学第九天【统计】