Docker入门 – 介绍

Build once, configure once and run anywhere.

Docker特征

  • 速度飞快以及优雅的隔离框架
  • 物美价廉
  • CPU/内存的低消耗
  • 快速开/关机
  • 跨云计算基础构架

Docker组件和元素

三个组件

  • Docker Client - 用户界面
  • Docker Daemon - 运行于主机上,处理服务请求
  • Docker Index - 中央registry,支持拥有公有与私有访问权限的Docker容器镜像的备份

三个基本要素

  • Docker Containers - 负责应用程序的运行,包括操作系统,用户添加的文件以及元数据
  • Docker Images - 只读模板,用来运行Docker容器
  • DockerFile - 文件指令集,用来说明如何自动创建Docker镜像

Docker使用一下操作系统的功能来提高容器效率

  • NameSpace - 充当隔离的第一级,确保一个容器中运行一个进程而且不能看到或影响容器外的其他进程
  • Control Groups - LXC的重要组成部分,具有资源核算与限制的关键功能
  • UnionFS - 作为容器的构建块,支持Docker的轻量级以及速度快的特性,带有用户层的文件系统。

如何把它们放在一起

运行任何应用程序,都需要有两个基本步骤:

  1. 构建一个镜像

    Docker image 是一个构建容器的只读模板,包含了容器启动所需要的所有信息,包括运行程序和配置数据。每个镜像都源于一个基本的镜像,随后根据Dockerfile中的指令创建模板。对于每个指令,在镜像上创建一个新的层面。

  2. 运行容器

    运行容器源于第一步创建的镜像。当容器被启动后,一个读写层会被添加到镜像的顶层。当分配到合适的网络和IP地址后,需要的应用程序就可以在容器中运行了。