简介
shipyard 是一个集成管理 Docker 容器、镜像、仓库的系统,他最大亮点应该是支持多节点的集成管理,可以动态加载节点,可托管 node 下的容器。
仓库(Repository)
是集中 存放镜像 的地方。仓库概念的引入,为 Docker 镜像文件的分发和管理提供了便捷的途径。
一个容易混淆的概念是注册服务器(Registry)
。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 store.docker.com/ubuntu 来说,store.docker.com 是注册服务器地址,ubuntu 是仓库名。大部分时候,并 不需要严格区分这两者的概念 。
仓库分为公有仓库
和私有仓库
。
Harbor 默认 HTTP 请求注册服务器,并不分发任何证书。使得其配置相对简单。然而,强烈建议在生产环境中增强安全性。Harbor 有一个 Nginx 实例为所有服务提供反向代理,你可以在 Nginx 配置中启用 HTTPS 。
假定你的仓库的 hostname 是 reg.yourdomain.com,并且其 DNS 记录指向主机正在运行的 Harbor。首先,你需要获取一个 CA 证书。证书通常包含一个 .crt 文件和 .key 文件,例如, yourdomain.com.crt 和 yourdomain.com.key。
在测试或开发环境中,你可能会选择使用自签名证书,而不是购买 CA 证书。下面的命令会生成自签名证书:
1) 生成自签名 CA 证书:
|
|
images,container,storage driver
以 ubuntu15.04 为例,由四个镜像层堆叠而成,而且每层都是只读的。存储驱动负责堆叠这些镜像层并提供统一视口(The Docker storage driver is responsible for stacking these layers and providing a single unified view.)
如下图所示,当创建一个容器时,会在原有的 layer 上添加一个新的,稀疏的,可读写的 “容器层”,在容器上进行的所有读,写,删除文件的指令都会在容器层完成