系统:centos6.5 rhel6.6

系统的默认内核是2.6的,可以不升级,我升级了,具体操作如下:

整理docker资料——王建雄

我之前将环境配好了,这就省略了。

第一步:禁用selinux

[root@wangjianxiong 桌面]# getenforce

Disabled

[root@wangjianxiong 桌面]# /etc/init.d/iptables status

iptables:未运行防火墙。

[root@wangjianxiong 桌面]#

 第二步:安装 Fedora EPEL

1.epel-release-6-8.noarch.rpm包在发行版的介质里面已经自带了,可以从rpm安装

[root@wangjianxiong 桌面]#

 yum -y install http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

Running Transaction

  Installing : epel-release-6-8.noarch                                                      1/1

  Verifying  : epel-release-6-8.noarch                                                      1/1

Installed:

  epel-release.noarch 0:6-8                                   

Complete!

2.查看:

[root@wangjianxiong 桌面]#ls /etc/yum.repos.d/

CentOS-Base.repo       CentOS-Media.repo  epel.repo

CentOS-Debuginfo.repo  CentOS-Vault.repo  epel-testing.repo

第三步:查看系统需知信息:

[root@wangjianxiong 桌面]# uname -r

2.6.32-431.el6.x86_64

[root@wangjianxiong 桌面]# cat /etc/redhat-release

CentOS release 6.5 (Final)

第四步:升级到3.10

1.导入public key

[root@wangjianxiong 桌面]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 

2.安装elrepo到内核为2.6.32CentOS中:

[root@wangjianxiong 桌面]#

 rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

Retrieving http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm

Preparing...                ########################################### [100%]

1:elrepo-release         ########################################### [100%]

3.安装kernel-lt(long term support)长期支持版本:

[root@wangjianxiong 桌面]# yum --enablerepo=elrepo-kernel install kernel-lt -y

Installed:

  kernel-lt.x86_64 0:3.10.101-1.el6.elrepo                                                                                                       

Complete!

注:(我没有用,直接用的上面的方式,也很快,我的网也不是很快的。)

如果直接通过yum方式使用elrepo源速度会较慢。

推荐采用rpm的方式安装kernel-lt

访问http://elrepo.org/linux/kernel/el6/x86_64/RPMS/下载对应的rpm包,通过rpm方式安装:

rpm -ivh kernel-lt-3.10.93-1.el6.elrepo.x86_64.rpm

4.编辑grub.conf文件,修改Grub引导顺序

[root@wangjianxiong 桌面]# vim /etc/grub.conf

default=0

第五步:检查内核没有变(需要重启机器):

[root@wangjianxiong 桌面]# uname -r

2.6.32-431.el6.x86_64

[root@wangjianxiong 桌面]# init 6

[root@wangjianxiong 桌面]# uname -r

3.10.101-1.el6.elrepo.x86_64

步:安装docker

1. Yum安装:

[root@wangjianxiong 桌面]# yum install docker-io -y

Installed:

  docker-io.x86_64 0:1.7.1-2.el6                                                 

Dependency Installed:

  libcgroup.x86_64 0:0.40.rc1-17.el6_7    lua-alt-getopt.noarch 0:0.7.0-1.el6  

  lua-filesystem.x86_64 0:1.4.2-1.el6     lua-lxc.x86_64 0:1.0.8-1.el6         

  lxc.x86_64 0:1.0.8-1.el6                lxc-libs.x86_64 0:1.0.8-1.el6        

Complete!

2.开启cgroup

[root@wangjianxiong 桌面]# /etc/init.d/cgconfig start

Starting cgconfig service:                                 [确定]

[root@wangjianxiong 桌面]# /etc/init.d/cgconfig status

Running

3. 启动docker

[root@wangjianxiong 桌面]# /etc/init.d/docker start

Starting docker: [确定]

4.  查看docker的版本:                                 

[root@wangjianxiong 桌面]# docker version

Client version: 1.7.1

Client API version: 1.19

Go version (client): go1.4.2

Git commit (client): 786b29d/1.7.1

OS/Arch (client): linux/amd64

Cannot connect to the Docker daemon. Is 'docker -d' running on this host?(这里请注意,不能连接到docker的守护进程,需要docker- d”这个主机上运行?

[root@wangjianxiong 桌面]# docker -d

INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)

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

解决方案:

[root@wangjianxiong 桌面]# yum upgrade -y device-mapper-libs

重新启动docker

[root@wangjianxiong 桌面]# /etc/init.d/docker restart

停止 docker                                              [失败]

Starting docker:                                   [确定]

[root@wangjianxiong 桌面]# /etc/init.d/docker stop

停止 docker                                              [确定]

[root@wangjianxiong 桌面]# /etc/init.d/docker start

Starting docker:                                   [确定]

到这里就完事了!