Docker 私有仓搭建与Web管理(基于Nginx的反向代理)
什么是 Docker
Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。
Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。
什么是 Docker 仓库
仓库(Repository
)是集中存放镜像的地方。
一个容易混淆的概念是注册服务器(Registry
)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址docker.io/ubuntu
来说,docker.io
是注册服务器地址,ubuntu
是仓库名。
大部分时候,并不需要严格区分这两者的概念。
什么是 Docker 私有仓库(Registry)
一般情况下,我们可以通过Docker Hub
在整个网络中下载或者分享Docker镜像。同时相比Docker Hub
这样的公共仓库,用户可以创建私有仓库供私人使用。
官方提供了docker-registryDocker镜像用于构建私有的镜像仓库。目前是 v2.x 版本。
搭建Docker私有仓库的步骤
一般需要以下几个大致的步骤:
- 从Docker Hub拉取docker-registry镜像
- 创建docker-registry配置文件,并启动docker-registry
- 通过
nginx
将docker-registry发布到互联网。(内部使用可忽略此步骤)