CentOS 6.5 下配置docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

CentOS Docker 安装,Docker支持以下的CentOS版本:
- CentOS 7 (64-bit)
- CentOS 6.5 (64-bit) 或更高的版本

目前,CentOS 仅发行版本中的内核支持 Docker。
- Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
- Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为2.6.32-431 或者更高版本。

在此分享一下本人学习Docker的经历。
操作环境:CentOS 6.5 x86_64
检测系统内核版本

经过多次尝试,在CentOS 6.5 的这个最低的内核版本(2.6.32-431)上直接安装docker都失败,具体原因估计还是版本太低不兼容吧(官方建议内核版本在3.8.0及以上),所以在安装Docker之前升级一下系统的内核版本是必须的。

  1. 升级系统内核版本
    网上很多介绍CentOS 6.5升级内核都是下载源码编译安装,感觉麻烦,对Linux不熟悉的话容易出错。我这里选择从yum的ELRepo源中安装。
    在yum的ELRepo源中,有mainline、long-term这2个内核版本,考虑到long-term更稳定,会长期更新,所以选择这个版本。

    1). 导入public key:
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    导入过程中可能会报错:
    这里写图片描述
    解决:运行命令yum update nss

    2). 安装ELRepo到CentOS-6.5中:
    rpm -ivh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
    这里写图片描述

    3). 安装kernel-lt(lt=long-term)
    yum --enablerepo=elrepo-kernel install kernel-lt -y
    或者安装kernel-ml(ml=mainline)
    yum --enablerepo=elrepo-kernel install kernel-ml -y
    这里写图片描述
    这里写图片描述

    4). 编辑grub.conf文件,修改Grub引导顺序:vim /etc/grub.conf
    这里写图片描述
    确认刚安装好的内核在哪个位置,然后设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0;
    这里写图片描述

    5).重启后查看系统内核版本。
    这里写图片描述

    至此,CentOS 6.5的系统内核版本已经从原来的2.6.32-431.el6.x86_64升级到3.10.107-1.el6.elrepo.x86_64,可以配置Docker了。

  2. 安装 Docker,直接运行:yum install docker-io,会出错,原因:No package docker-io available.
    这里写图片描述
    注意:CentOS 6.5与7.0的安装是有一点点不同的,CentOS-6上docker的安装包叫docker-io,并且来源于Fedora epel库,这个仓库维护了大量的没有包含在发行版中的软件,所以先要安装EPEL,而CentOS-7的docker直接包含在官方镜像源的Extras仓库(CentOS-Base.repo下的[extras]节enable=1启用)。

    1).安装yum 源:
    yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    这里写图片描述
    这里写图片描述

    2).安装epel-release-6-8.noarch.rpm以后直接 yum install docker-io 就可以正常安装了;
    这里写图片描述
    这里写图片描述
    这里写图片描述

    3).运行Docker:service docker start,并设置为开机启动:chkconfig docker on;
    这里写图片描述

    将Docker安装到CentOS上后,你需要将自己添加到docker群组,那样才能以非root用户的身份来运行Docker。为此,运行命令:usermod -a -G docker $USER

问题:启动Docker过程中会报错:docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference
解决:运行命令:yum -y upgrade device-mapper-libs
这里写图片描述
有可能是升级内核前没有更新系统导致,对此没有深究。

附:
yum -y update,升级所有包,改变软件设置和系统设置,系统版本升级,内核版本不变;
yum -y upgrade,升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章