- registory的工作原理
- 官方仓库Docker Hub
- 配置镜像加速器
- 配置
- 测试
- 搭建私有仓库
- 为Docker仓库添加证书加密功能
- 仓库认证
- 企业级仓库Harbor
- 搭建企业级仓库Harbor
- 镜像扫描
- 镜像签名
- 镜像扫描与镜像扫描功能关闭,还原
registory的工作原理
Docker Registry有三个角色,分别是index、registry和registry client
index:
负责并维护有关用户帐户、镜像的校验以及公共命名空间的信息。
Web UI
元数据存储
认证服务
符号化
registry:
是镜像和图表的仓库,它不具有本地数据库以及不提供用户认证,通过Index Auth service的Token的方式进行认证。
registry client:
Docker充当registry客户端来维护推送和拉取,以及客户端的授权。
Docker Hub是Docker公司维护的公共仓库
先在https://hub.docker.com/注册账号
并新建一个公共仓库webserver
Docker Hub 为了区分不同用户的同名镜像,要求镜像的格式是:
username/xxxxx.tag
上传镜像: docker push wmdockerrepository/webserver:v1 拉取镜像: docker pull wmdockerrepository/webserver:v1 删除镜像: docker rmi wmdockerrepository/webserver:v1
从docker hub上下载镜像速度太慢,需要配置镜像加速器。
这里以阿里云为例,首先注册阿里云账号
docker hub 虽然方便,但是:
速度慢
所有人都可以访问
由于安全原因,企业不允许将镜像放到外网
自主建设Docker私有仓库registry
下载registry镜像: docker pull registry 运行registry镜像 docker run -d -p 5000:5000 registry
上传镜像到本地仓库
本地镜像在命名时需要加上仓库的IP和端口
生成证书:
需要先建立目录,并拷贝证书到该目录中
拷贝证书到docker 主机:
server7上需要创建同样的文件夹并拷贝证书
server7添加域名解析,拉取成功
首先停止仓库:docker rm -f registry
新建目录:mkdir auth
安装认证工具,httpd-tools将生成并保管docker私有仓库的用户及密码:yum install httpd-tools -y
添加两个htpasswd用户:
admin
lee
在之前的基础上,进一步完善私有仓库的启动,增加挂载认证用户文件以及相应的执行操作,
在server6上认证登录,登录成功即可上传
在server7上认证登录,登录成功即可进行下载
企业级仓库HarborHarbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
-
基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
-
镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
-
图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
-
AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
-
审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
-
国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
-
RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
-
部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。
在server6上搭建
删除上述实验做好的认证,
删除认证registrydocker rm -f registry
根据模板生成配置文件
docker-compose用于编排多个容器,对外形成一个整体
admin
westos
--with-trivy 提供了病毒扫描的功能。
进入容器内,更新漏洞库
离线下载漏洞库–download-db-only
设置不允许危险级别为严重以上的镜像允许,在server端就不能从本地镜像拉取危险级别为严重的镜像,只能拉取危险级别低的镜像。虽然私有仓库不允许拉取漏洞多的镜像,但是会发现虚拟机还是可以拉取镜像。这是因为虚拟机可以上网,就会从外网仓库下载。
该功能由notary-server和notary-signer提供。
签名时要指定镜像的版本。
未签名认证的镜像不允许拉取
添加签名认证
server7成功拉取
清理配置:
./prepare
再次安装时取消选择签名功能和扫描功能
即安装执行
./install.sh --with-chartmuseum



