初学者 (转)Docker入门教程(一)介绍


原文:http://dockerone.com/article/102
 【编者的话】DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了Docker的基础概念以及Docker的安装。

Docker是一个新的容器化的技术,它轻巧,且易移植,号称“build once, configure once and run anywhere(译者注:这个就不翻译了,翻译出来味道就没了)”。本文Flux7的Docker系列教程的第一部分。请和这份教程一起学习和理解Docker有什么优势以及如何把它使用好。

让我们一起来学习Docker。

本文主要涉及Docker的基础知识:Docker的特征、理念以及如何安装使用Docker。

Docker 特征

Docker有不少有趣的功能,通过本教程系列相信你会更好地理解它们。Docker特性主要包括以下几点:

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

Docker 组件与元素

Docker有三个组件和三个基本元素,读者可以快速浏览这个视频来了解这些组建和元素,以及它们的关系。三个基本组件分别是:

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


三个要素分别是:

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


初学者 (转)Docker入门教程(一)介绍
 

在讨论Docker组件和要素如何交互之前,让我们来谈谈Docker的支柱。Docker使用以下操作系统的功能来提高容器技术效率:

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


 

如何把它们放在一起

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

  1. 构建一个镜像。
  2. 运行容器。


这些步骤的都是从Docker Client的命令开始的。Docker Client使用的是Docker二进制文件。在基础层面上,Docker Client会告诉Docker Daemon需要创建的镜像以及需要在容器内运行的命令。当Daemon收到创建镜像的信号后,会进行如下操作:

第1步:构建镜像

如前面所述,Docker Image是一个构建容器的只读模板,它包含了容器启动所需的所有信息,包括运行哪些进程和配置数据。
所有的镜像都会基于一个基本镜像构建,紧接着会根据Dockerfile中的指令创建模板,对于每个指令,在镜像上创建一个新的层。

一旦镜像创建完成,就可以将它们推送到中央registry:Docker Index,以供他人使用。然而,Docker Index为镜像提供了两个级别的访问权限:公有和私有访问。您可以将镜像存储在私有仓库。Docker官网有私有仓库的套餐可以供你选择。总之,公有库是可搜索和可重复使用的,而私有库只能给拥有权限的成员访问。Docker Client可用于Docker Index内的镜像搜索。

第2步:运行容器

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

如果你还是有点不解,先别急,在接下来的内容中我们会和你分享很多的实战案例。

目前为止,我们已经介绍了Docker的基本概念,接下来,让我们一起安装Docker!

安装Docker:快速指南

下面让我们来看看如何在Ubuntu 12.04 LTS上安装Docker(译者注:在CentOS 6.5安装可以参考这里):

  1. 检查APT系统的HTTPS兼容性。如果usr/lib/apt/methods/https文件不存在,请安装apt-transport-https包。
  2. 在本地添加Docker Repositor密钥。 Repository key: hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
  3. 添加Docker Repository到APT源列表。
  4. 安装lxc-Docker包。 sudo apt-get update sudo apt-get install lxc-docker
  5. 验证安装。 sudo docker run -i -t ubuntu /bin/bash