1基本概念
镜像(Image)
Docker 镜像就是一个只读的模板。
例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。
镜像可以用来创建 Docker 容器。
容器(Container)
Docker 利用容器来运行应用。
容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
*注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。
仓库(Repository)
仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。国内的公开仓库包括 Docker Pool等,可以提供大陆用户更稳定快速的访问。
当然,用户也可以在本地网络内创建一个私有仓库。
当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。
2容器 VS 虚拟机
虚拟机

虚拟机运行客户机操作系统 - 记下每个框中的OS层。这是资源密集型,并且由此产生的磁盘映像和应用程序状态是操作系统设置,系统安装依赖关系,操作系统安全修补程序以及其他易于丢失,难以复制。
容器

容器可以共享单个内核,容器映像中唯一需要的信息是可执行文件及其包依赖关系,这些信息不需要在主机系统上安装。这些进程像本机进程一样运行,您可以通过运行诸如docker ps的命令来单独管理它们,就像在Linux上运行ps以查看活动进程一样。最后,因为它们包含所有的依赖关系,所以没有配置依赖。
| 特性 | 容器 | 虚拟机 |
| 启动 | 秒级 | 分钟级 |
| 硬盘使用 | 一般为MB | 一般为GB |
| 性能 | 接近原生 | 弱于原生 |
| 系统支持 | 单机支持上千个 | 一般几十个 |

感谢您的关注和支持!!





