Docker简介与安装
本文描述了Docker简介与安装:
- 简介
- 安装
简介
Docker是一款针对程序开发人员和系统管理员来开发、部署、运行应用的一款虚拟化平台。Docker 可以让你像使用集装箱一样快速的组合成应用,并且可以像运输标准集装箱一样,尽可能的屏蔽代码层面的差异。Docker 会尽可能的缩短从代码测试到产品部署的时间。
Docker是在LXC(a.k.a. Linux Container)的基础上进行进一步的封装,使得用户不必关心容器的管理,操作更加简便。对于用户而言,操作Docker容器就像操作一个快速、轻量级的虚拟机一样简单。
下图比较了传统虚拟化方式与Docker的不同之处。
可见,Docker容器是在操作系统的层面实现了虚拟化,直接复用了本地的操作系统,而传统方式则是在硬件层面进行实现。
-
具体来讲,Docker在如下方面具有较大优势。
-
更高效的虚拟化:Docker容器的运行不需要额外的Hypervisior支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。
N.B. Hypervisior是一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。
- 更轻松的迁移与扩展:Docker容器的多平台兼容性使得Docker可以几乎在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。用户可以把应用程序从一个平台直接迁移到另外一个。
- 更简单的管理:使用Docker,只需要简单的修改就可以替代以往大量的更新工作,所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效管理。
- 更快速的交付和部署:对开发和运维人员来说,最希望的就是一次创建或配置,就可以在任意的地方运行。开发者可使用一个标准镜像来构建一套开发容器,运维人员直接使用这个容器来部署代码。Docker容器的启动很快,时间是秒级,能大量节约开发、测试、部署的时间。
Docker容器对比传统虚拟机的小结
特性 | Docker容器 | 虚拟机 |
---|---|---|
启动 | 秒级 | 分钟级 |
硬盘使用 | 一般为MB | 一般为GB |
性能 | 接近原生 | 弱于 |
系统支持量 | 单机支持上千容器 | 一般为几十个 |
安装
下文简介Linux系中的Ubuntu和CentOS上的安装,有关Linux系的其他系统、MacOS、Windows系统等,详情参考Install Docker Engine
Ubuntu上安装docker
支持的版本根据docker官网的ubuntu安装部分,docker 目前支持:
- Ubuntu Xenial 16.04 (LTS)
- Ubuntu Wily 15.10
- Ubuntu Trusty 14.04 (LTS)
- Ubuntu Precise 12.04 (LTS)
系统后的LTS代表Long-Term Support.
先决条件
- 对于Linux系统,Docker仅支持64位系统
- Linux的内核(kernel)要求 3.10及以上版本,使用在终端窗口试使用“uname -r”命令查看版本。
通过系统自带包安装
Ubuntu 14.04 版本系统中已经自带了 Docker 包,可以直接安装。
$ sudo apt-get update
$ sudo apt-get install -y docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
如果使用操作系统自带包安装 Docker,目前安装的版本是比较低。 要安装更新的版本,可以通过使用 Docker 源的方式。
通过Docker源安装最新版本
要安装最新的 Docker 版本,首先需要安装 apt-transport-https 支持,之后通过添加源来安装。
$ sudo apt-get install apt-transport-https ca-certificates
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
对于Ubuntu14.04之前的版本,需要更新内核
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot
然后重复上面的步骤即可。
安装完成之后,重启电脑,启动docker服务
$ sudo service docker start
CentOS 系列安装 Docker
docker支持centos6及以后的版本
CentOS6
对于 CentOS6,可以使用 EPEL 库安装 Docker,命令如下
$ sudo yum install http://mirrors.yun-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
$ sudo yum install docker-io
CentOS7
CentOS7 系统CentOS-Extras
库中已带 Docker,可以直接安装
$ sudo yum install docker
安装之后启动 Docker 服务,并让它随系统启动自动加载
$ sudo service docker start
$ sudo chkconfig docker on