【注意】最后更新于 December 2, 2019,文中内容可能已过时,请谨慎使用。
早期的 docker 对稍微老点的系统支持都不是很友好, 也是因为操作系统的一些新特性才能让 docker 运行起来
在国内的云服务商提供的 CentOS65 镜像内核都是2.6.*
的,不能满足docker需要的3.1.*
,因此首先需要升级一下内核
1
2
3
4
5
6
7
8
|
#导入public key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#安装elrepo到内核为2.6.32的CentOS中
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
#安装kernel-lt(long term support)长期支持版本
yum --enablerepo=elrepo-kernel install kernel-lt -y
|
如果yum安装的慢,可以通过rpm安装kernel-lt
1
2
|
访问http://elrepo.org/linux/kernel/el6/x86_64/RPMS/下载对应的rpm包,通过rpm方式安装:
rpm -ivh kernel-lt-3.10.93-1.el6.elrepo.x86_64.rpm
|
安装完毕后编辑配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
vi /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,0)
# kernel /boot/vmlinuz-version ro root=/dev/xvda1
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/xvda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.105-1.el6.elrepo.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-3.10.105-1.el6.elrepo.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /boot/initramfs-3.10.105-1.el6.elrepo.x86_64.img
title CentOS (2.6.32-573.22.1.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-573.22.1.el6.x86_64 ro root=UUID=94e4e384-0ace-437f-bc96-057dd64f42ee rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /boot/initramfs-2.6.32-573.22.1.el6.x86_64.img
title CentOS (2.6.32-431.23.3.el6.x86_64)
|
我们用的 CentOS (3.10.105-1.el6.elrepo.x86_64)
就排在第一个,因此改成 default=0
保存后重启系统
1
2
|
uname -a
Linux iZm5eib1msf1eaxvrvhp60Z 3.10.105-1.el6.elrepo.x86_64 #1 SMP Fri Feb 10 10:48:08 EST 2017 x86_64 x86_64 x86_64 GNU/Linux
|
安装docker
1
2
3
|
yum install -y docker-engine
service docker start
sudo docker version
|
如果出现 Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
这种提示,按以下解决步骤:
- 执行
service docker start
- 加上
sudo
- 执行
yum upgrade device-mapper
我是执行到第三步就可以正常运行了,如果还没解决问题的话就自己找去吧
资料1-centos安装docker升级内核到3.10
资料2-github/docker/issues/11356
文章作者
GPF
上次更新
2019-12-02
(521dbfe)