关注小众语言、AI技术,记录、分享技术点滴!

0%

centos 6.8下安装docker1.7.1

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
2
$ uname -r
2.6.32-573.22.1.el6.x86_64

Device Mapper

Docker默认使用AUFS作为存储驱动,但是AUFS并没有被包括在Linux的主线内核中。CentOS中可以使用Device Mapper作为存储驱动,这是在2.6.9内核版本引入的新功能。我们需要先确认是否启用该功能:

1
2
$ ls -l /sys/class/misc/device-mapper
lrwxrwxrwx 1 root root 0 Mar 11 17:06 /sys/class/misc/device-mapper -> ../../devices/virtual/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
2
$ docker -v
Docker version 1.7.1, build 786b29d/1.7.1

启动

第一步 启动服务

一旦安装好Docker之后,我们需要启动Docker Deamon:

1
$ service docker start

第二步 设置开机启动(可选)

如果希望Docker Deamon开机运行,还需要做如下操作:

1
$ chkconfig docker on

验证

验证Docker Deamon

启动服务后,直接用docker info命令确认docker是否正确安装并运行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ docker info
Containers: 1
Images: 4
Storage Driver: devicemapper
Pool Name: docker-202:1-1835598-pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 541.8 MB
Data Space Total: 107.4 GB
Data Space Available: 28.89 GB
Metadata Space Used: 983 kB
Metadata Space Total: 2.147 GB
Metadata Space Available: 2.147 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Library Version: 1.02.117-RHEL6 (2016-08-15)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 2.6.32-573.22.1.el6.x86_64
Operating System: <unknown>
CPUs: 1
Total Memory: 994.6 MiB
Name: iZ23l4s2070Z
ID: CGIV:KQ7V:LP5I:NF5V:ZMKG:4AK3:RMDZ:QLVL:BY6F:GQF3:V7E5:TDCA

验证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
2
3
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
daocloud.io/centos 6 10611b26a8b9 4 months ago 194.6 MB

激动的时刻到了,让我们运行一下:

1
$ docker run -i -t daocloud.io/centos /bin/bash

一切正常的话,你会看到一个终端提示符,然后你就可以像操作任何CentOS机器一样进行你的体验。