赞
赏
Docker 有三个基本概念,Docker镜像(Images)、Docker容器(Container)、Docker仓库(Registry)。
Docker镜像(Images) 是一个用于创建 Docker容器(Container) 的静态模板。一个 Docker镜像(Images) 可以创建很多 Docker容器(Container)。
比如,一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 apache 或用户需要的其他应用程序。
Docker 提供了一个很简单的机制来创建 Docker镜像(Images) 或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
Docker容器(Container) 是独立运行的一个或一组应用,是从 Docker镜像(Images) 创建的运行实例,它可以被启动、开始、停止、 删除。
每个Docker容器(Container) 都是相互隔离的、保证安全的平台。我们可以把 Docker容器(Container) 看做是一个简易版的 Linux 环境(包括 root 用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
如果使用面向对象的思想来比喻 Docker镜像(Images) 和 Docker容器(Container) ,那么 Docker镜像(Images) 就相当于面向对象中的类,而 Docker容器(Container) 相当于类实例化出来的对象。
注:Docker镜像(Images) 是只读的,Docker容器(Container) 在启动的时候创建一层可写层作为最上层。
Docker仓库(Registry) 用来保存 Docker镜像(Images),是集中存放 Docker镜像(Images) 文件的场所。
Docker仓库(Registry) 分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub, 存放了数量庞大的镜像供用户下载。国内的公开仓库包括 Docker Pool 等,可以提供大陆用户更稳定快速的访问。
当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。
注:Docker 仓库(Registry) 的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。