服务器环境:Centos6.8 64位。内核信息如下:
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

操作docker启动centos容器时提示错误如下:

FATAL: kernel too old

那么就是docker认为你的内核版本不适配,需要升级。

【1】更新nss

命令如下:

yum update nss

在这里插入图片描述

【2】安装elrepo的yum源

升级内核需要使用elrepo的yum源,在安装yum源之前还需要我们导入elrepo的key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

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

在这里插入图片描述

【3】升级内核

在yum的elrepo源中有ml和lt两种内核,其中ml(mainline)为最新版本的内核,lt为长期支持的内核。

安装ml内核使用如下命令:

yum --enablerepo=elrepo-kernel -y install kernel-ml

安装lt内核使用如下命令:

yum --enablerepo=elrepo-kernel -y install kernel-lt

此处选择lt内核。
在这里插入图片描述

【4】修改grub.conf文件

内核升级完后需要修改内核的启动顺序

vim /etc/grub.conf

default=0

在这里插入图片描述
然后重启系统:reboot

再次查看内核详细信息:

[root@localhost ~]# uname -a
Linux localhost.localdomain 4.4.213-1.el6.elrepo.x86_64 #1 SMP Wed Feb 5 10:59:29 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

再次启动容器:

[root@localhost ~]# ps -ef|grep docker
root      16978      1  0 04:41 ?        00:00:00 /usr/bin/docker -d --registry-mirror=https://05hzrxh8.mirror.aliyuncs.com
root      17356  17324  0 04:43 pts/0    00:00:00 grep docker
[root@localhost ~]# docker run -it centos
[root@ca995caf8c80 /]#
#标明已经进入容器操作界面
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐