Docker是一个能够把开发应用程序自动部署到容器的开源引擎。它由Docker公司的团队编写,基于Apache 2.0开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。
前提条件
内核
Docker运行对内核要求比较高,因此一般建议直接在Ubuntu这样的平台运行。但作为一个容器标准,Docker也是支持其他如CentOS, Mac OS X, Windows等平台。目前Docker支持以下版本CentOS:
CentOS 7(64位)
CentOS 6.5(64位)及以后
在运行CentOS 6.5及以后版本时,需要内核版本>=2.6.32-431,因为这些内核包含了运行Docker的一些特定修改。
1 | $ uname -r |
Device Mapper
Docker默认使用AUFS作为存储驱动,但是AUFS并没有被包括在Linux的主线内核中。CentOS中可以使用Device Mapper作为存储驱动,这是在2.6.9内核版本引入的新功能。我们需要先确认是否启用该功能:
1 | $ ls -l /sys/class/misc/device-mapper |
如果没有检测到Device Mapper,需要安装device-mapper软件包:
1 | $ yum install -y device-mapper |
然后重新加载dm_mod内核模块:
1 | $ modprobe dm_mod |
第一步 Enable EPEL
对于CentOS6.8, Docker可以在EPEL源里面找到,所以我们首先需要确保启用EPEL。
1 | $ yum -y install epel-release-6-8.noarch |
第二步 Install Docker-IO
最后需要安装docker-io的RPM包。
1 | $ yum -y install docker-io |
这样完成了Docker的安装。
1 | $ docker -v |
启动
第一步 启动服务
一旦安装好Docker之后,我们需要启动Docker Deamon:
1 | $ service docker start |
第二步 设置开机启动(可选)
如果希望Docker Deamon开机运行,还需要做如下操作:
1 | $ chkconfig docker on |
验证
验证Docker Deamon
启动服务后,直接用docker info命令确认docker是否正确安装并运行:
1 | $ docker info |
验证Docker Client
现在就让我们验证下Docker是否能正常运行,首先我们来获取centos6.8的镜像:
1 | $ docker pull daocloud.io/centos:6 |
这里使用的是DaoCloud源,因为官方源在国内不稳定。国内其它源地址:1、https://c.163.com/hub 2、http://hub.daocloud.io,但要求Docker版本>=1.3.2。然后我们检查是否能看到镜像:
1 | $ docker images |
激动的时刻到了,让我们运行一下:
1 | $ docker run -i -t daocloud.io/centos /bin/bash |
一切正常的话,你会看到一个终端提示符,然后你就可以像操作任何CentOS机器一样进行你的体验。