概述
Docker包括三个基本概念:镜像(Image)、容器(Container)、仓库(Repository)
关于这三个概念 Docker官网和 Docker从入门到实践都有非常详细的描述,这里我就不再多写了,此处要写也只是加入一些自己的理解。关于Docker中镜像和容器的解释,很多地方定义的都非常晦涩,让新手很难理解到底什么是镜像什么是容器,对此Docker Inc.的VP James Turnbull在他的新书《The Docker Book》(据说该书在2014.11月可能有中文版,但到现在没有发现有)中以一幅图非常形象的解释了镜像与容器的概念。下面就是James Turnbull对镜像与容器的描述。
相信看了这张图之后应该会有一部分人能够理解什么是镜像什么是容器了。
镜像
Docker 镜像就是一个只读的模板。
这个很不明确哈,只读的模板?这里面都包含啥捏?这样来说吧,比如一家公司以Java为基础的技术环境,对于他们来说,官网提供的Ubuntu镜像那是一个镜像,在此基础上对该镜像进行二次改造,比如在里面增加上了Java的开发环境、Tomcat等,提供给研发人员使用,这也是一个镜像。大家可以使用该镜像来扩展开发,大大减少环境搭建所浪费的时间,达到一种开发环境统一的目的。
容器
容器是从镜像创建的运行实例。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。容器其实很简单,就相当于把静态的镜像给运行起来,使包含在镜像中的功能能真正提供服务。比如你有一个包含了LAMP的镜像,启动该镜像生成一个容器就能够提供LAMP的服务了。当前你也可以在容器里做其他的操作等,另外你也可以扩展你的容器然后生成新的镜像。
仓库
仓库的概念在Docker从入门到实践翻译的很不错了,我这里就不再说了。主要列出几个针对于国内技术人员来说比较有用的仓库,谁让GWF在那拦着呢,导致国内用户要想从Docker Hub上下载一个镜像都死慢死慢的。
Docker Hub:Docker官方提供的镜像仓库,当然镜像是非常全面的了,不过国内访问就是不方便而已。
另外两个国内比较知名仓库就是dockerpool和docker.cn了
docerpoll : http://www.dockerpool.com/
docker.cn : https://docker.cn
关于Docker的基本概念就说到这里,如果疏漏之处还望指正。