docker 容器和镜像的区别
docker的三大核心概念是:1.docker镜像(Image);2. docker容器(container);3. docker仓库(repository)。镜像可以理解为处于静态的只读文件,它是创建容器的先决条件,即容器是镜像的运行实体。而仓库的作用则是存储和分发镜像。
1、docker 镜像 - (只读层的集合)
docker镜像类似于虚拟机镜像,可以将其理解为一个只读模板。除了提供容器运行时所需的程序、库、资源、配置等文件外,docker镜像还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
镜像是创建docker容器的基础,它可以通过版本管理和增量的文件系统,如Docker Hub。
2、docker 容器
docker容器(container)类似于轻量级的沙箱,docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,但是所有的容器是相互隔离的,互不可见的,这就提供了一个实体机可以安装多个容器,且很轻量级相对于虚拟机。镜像本身是只读的,容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身保持不变。
3、docker 仓库
docker仓库(repository)类似于代码库,是docker集中存放镜像的场所。实际上,注册服务器是存放仓库的地方,其上往往存放着很多仓库。每个仓库集中存放某一类镜像,往往包括多个镜像文件,通过不同的标签(tag)来进行区分。
根据存储的镜像公开分享与否,docker仓库可以分为公开仓库(Public)和私有仓库(Private)两种形式。目前,最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载,国内的公开镜像包括Docker Pool,可以提供稳定的国内访问,与GitHub类似。
容器 = 镜像 + 读写层
他们说网络很假,我笑了,好像现实很真一样。