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 ...
随机推荐
- JS 原型与原型链
图解: 一.普通对象 跟 函数对象 JavaScript 中,一切皆对象.但对象也有区别,分为 普通对象 跟 函数对象,Object 和 Function 是 JavaScript 自带的函数对象. ...
- 一些iptables配置
第一条是封堵22,80,8080端口的输出,第二条是为该ip的80端口设置输出白名单,亲测有效:第三条是禁止所有UDP报文的输出 iptables -I OUTPUT -p tcp -m multip ...
- HDU 2003 求绝对值
http://acm.hdu.edu.cn/showproblem.php?pid=2003 Problem Description 求实数的绝对值. Input 输入数据有多组,每组占一行,每行 ...
- openstack,docker,mesos,k8s关系
openstack,docker,mesos,k8s什么关系? - 知乎https://www.zhihu.com/question/62985699 OpenStack + K8S 环境集成测试ht ...
- 虚拟机的ip地址为什么会发生变化
因为虚拟机在NAT模式下由Vmware8虚拟网卡提供虚拟机的IP分配,网桥模式下由Vmware1来提供IP分配.它们都相当于 一个小型的DHCP服务器,除非改动虚拟机的网络连接方式,或动了虚拟网卡服务 ...
- 1、通过eureka创建注册中心
第一个demo(用户需要调用电影服务) 1.创建项目 new starter project 勾选上Eureka Server 2.编写application.yml #配置端口 server: po ...
- /proc/diskstats
读取磁盘统计信息,如下所示: linux-HpdBKE:~ # cat /proc/diskstats sda sda1 sda2 dm- dm- dm- sda为整个硬盘的统计信息,sda1为第一个 ...
- 【Spring】——声明式事务配置详解
项目中用到了spring的事务: @Transactional(rollbackFor = Exception.class, transactionManager = "zebraTrans ...
- JDK 12 & JAVA
JDK 12 & JAVA js style https://github.com/winterbe https://winterbe.com/posts/2018/09/24/java-11 ...
- CSS 常见的8种选择器 和 文本溢出问题
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>c ...