2019独角兽企业重金招聘Python工程师标准>>>

在升级到kernel-3.17的centos-6.5上安装docker,直接执行以下命令:

yum install golang
yum install docker-io
chkconfig add docker
service docker start

但出现了以下错误:

[root@osd2 ~]# service docker start
Starting cgconfig service: Error: cannot mount memory to /cgroup/memory: No such file or directory
/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Failed to parse /etc/cgconfig.conf                         [FAILED]
Starting docker:                                       [  OK  ]
[root@osd2 ~]# service docker start
[root@osd2 ~]# service docker status
docker dead but pid file exists

查了一下cgconfig:

[root@osd2 ~]#  /etc/init.d/cgconfig status
Stopped
[root@osd2 ~]# /etc/init.d/cgconfig start
Starting cgconfig service: Error: cannot mount memory to /cgroup/memory: No such file or directory
/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Failed to parse /etc/cgconfig.conf                         [FAILED]
[root@osd2 ~]# ls /cgroup/
blkio  devices  freezer  memory  net_cls

memory是有的,但就是出错,需要修改:

[root@osd2 ~]# cat /etc/cgconfig.conf
#
#  Copyright IBM Corporation. 2007
#
#  Authors: Balbir Singh <balbir@linux.vnet.ibm.com>
#  This program is free software; you can redistribute it and/or modify it
#  under the terms of version 2.1 of the GNU Lesser General Public License
#  as published by the Free Software Foundation.
#
#  This program is distributed in the hope that it would be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See man cgconfig.conf for further details.
#
# By default, mount all controllers to /cgroup/<controller>mount {cpuset  = /cgroup/cpuset;cpu   = /cgroup/cpu;cpuacct  = /cgroup/cpuacct;
#   memory  = /cgroup/memory;devices   = /cgroup/devices;freezer  = /cgroup/freezer;net_cls  = /cgroup/net_cls;blkio    = /cgroup/blkio;
}

再次启动cgconfig,一切正常。但重启docker,依然报错:

[root@osd2 ~]# service docker status
docker dead but pid file exists[root@osd2 ~]# tailf /var/log/docker
\nMon Jan  5 14:04:33 CST 2015\n
2015/01/05 14:04:33 docker daemon: 1.3.2 39fa2fa/1.3.2; execdriver: native; graphdriver:
[910cf963] +job serveapi(unix:///var/run/docker.sock)
[910cf963] +job init_networkdriver()
[info] Listening for HTTP on unix (/var/run/docker.sock)
Unable to enable network bridge NAT: iptables failed: iptables -I POSTROUTING -t nat -s 172.17.42.1/16 ! -o docker0 -j MASQUERADE: iptables v1.4.7: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.(exit status 3)
[910cf963] -job init_networkdriver() = ERR (1)
2015/01/05 14:04:33  (exit status 3)

日志显示无法创建nat网桥,看了一下正常的docker环境和modules:

[root@lm backup]# lsmod | grep nat
ebtable_nat             2009  0
ebtables               18135  1 ebtable_nat
iptable_nat             6051  1
nf_nat                 23316  2 ipt_MASQUERADE,iptable_nat
nf_conntrack_ipv4       9506  4 iptable_nat,nf_nat
nf_conntrack           80390  6 xt_conntrack,xt_state,ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4
ip_tables              17831  3 iptable_nat,iptable_mangle,iptable_filter[root@lm backup]# find /lib/modules/2.6.32-504.1.3.el6.x86_64/ -name "*nat*"
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_proto_dccp.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_proto_udplite.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_ftp.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_proto_sctp.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_proto_gre.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_sip.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_tftp.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_pptp.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/iptable_nat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_snmp_basic.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_amanda.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_h323.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/ipv4/netfilter/nf_nat_irc.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/bridge/netfilter/ebt_snat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/bridge/netfilter/ebt_dnat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/bridge/netfilter/ebtable_nat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/net/sched/act_nat.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/drivers/net/natsemi.ko
/lib/modules/2.6.32-504.1.3.el6.x86_64/kernel/drivers/net/phy/national.ko

编译过内核的环境:

[root@osd2 /]# lsmod | grep nat
ebtable_nat             2071  0
ebtables               26518  1 ebtable_nat[root@osd2 modprobe.d]# find /lib/modules/3.17.4/ -name "*nat*"
/lib/modules/3.17.4/kernel/net/sched/act_nat.ko
/lib/modules/3.17.4/kernel/net/bridge/netfilter/ebt_snat.ko
/lib/modules/3.17.4/kernel/net/bridge/netfilter/ebt_dnat.ko
/lib/modules/3.17.4/kernel/net/bridge/netfilter/ebtable_nat.ko
/lib/modules/3.17.4/kernel/drivers/net/ethernet/natsemi
/lib/modules/3.17.4/kernel/drivers/net/ethernet/natsemi/natsemi.ko
/lib/modules/3.17.4/kernel/drivers/net/phy/national.ko

缺少了nat模块,才引起了上述错误,需要重新编译内核或使用旧内核。

或者重新编译内核,打开cgroup的memory control项:
General Setup->Control Group Support

转载于:https://my.oschina.net/renguijiayi/blog/532108

内核升级后docker运行出错相关推荐

  1. u盘版linux initramfs,Linux_内核升级后 出现initramfs错误问题解决, 出现initramfs找不到/root /hos - phpStudy...

    内核升级后 出现initramfs错误问题解决 出现initramfs找不到/root /host或437或 VFS之类的提示: 1.如果root.disk是在fat32 分区上,所以内核选项要把fa ...

  2. .net core 1.1 mysql_Asp.net Core 1.1 升级后操作mysql出错的解决办法

    这篇文章主要介绍了Asp.net Core 1.1 升级后操作mysql出错的解决办法,需要的朋友可以参考下 遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到Miss ...

  3. 内核升级后linux ubuntu无线网卡wifi驱动安装上网问题

    起因:因为用的工控机需要额外的无线网卡,内核升级后make编译失败. ###########(1)终端命令如下,ubuntu18.04/20.04 ########### For 5.10 kerne ...

  4. linux内核升级写入不了,解决linux内核升级后不能重启系统的故障

    1.闲来无事,想升级下centos的内核.升级方法就不多讲了. 2.升级完后,重启系统,发现系统无法启动,具体原因是系统无法挂载文件系统. 3.在网上找了下资料,原因出在了initrd是旧版本mkin ...

  5. linux 不重启加载内核,解决linux内核升级后不能重启系统的故障

    1.升级完后,重启系统,发现系统无法启动,具体原因是系统无法挂载文件系统. 2.在网上找了下资料,原因出在了initrd是旧版本mkinitrd生成的. 所以导致文件系统无法正常挂载 3.解决方法就是 ...

  6. .net core 1.1 mysql_Asp.net Core 1.1 升级后操作mysql出错的解决办法|chu

    遇到问题 core的版本从1.0升级到1.1,操作mysql数据库,查询数据时遇到MissingMethodException问题,更新.插入操作没有问题. 如果你也遇到这个问题,请参照以下步骤进行升 ...

  7. SpriteBuilder改变布局后App运行出错代码排查

    原来整个关卡场景放在GameScene.ccb中,后来觉得移到专门的Level.ccb比较好. 移动过后编译运行,只要移动Player的胳膊发射子弹时,Xcode报错: g due to Chipmu ...

  8. Android Studio 3.4升级后的运行问题解决办法

    Android Studio 3.4推出有一段时间了,升级之后又有几个问题需要处理,说明如下: 一.把Gradle升级到AS3.4配套的5.1.1版本 1.手工下载Gradle4.6并解压,下载地址是 ...

  9. Ubuntu16.4 将python3.5重新切换为python2.7后,pip运行出错

    出现问题: Traceback (most recent call last): File "/usr/local/bin/pip", line 7, in <module& ...

最新文章

  1. php sharepoint,如何使用php连接sharepoint
  2. session:的生命周期
  3. Android Studio中有没有类似于Eclipse中的ctrl+2+L的快捷键? \Android Studio快捷键之代码提示...
  4. verilog设计UART发送接收及各种错误仿真
  5. Vue如何在data中正确引入图片路径
  6. 百度实习笔试题(2012.5.6)
  7. Activity 过渡动画 — 让切换更加炫酷
  8. 数据库视图效率低下一例
  9. 淘宝订单同步及解决方法
  10. 基于Wemos的感应开盖垃圾桶
  11. 安迪·格鲁夫: 一个PC时代的大写符号
  12. 在线公开课 | 5G时代的视频云服务关键技术与实践
  13. unix_timestamp、from_unixtime时间戳函数的使用
  14. Udesk作为国内SaaS客户服务领域的翘楚,将对标海外巨头Oracle丨Xtecher 封面
  15. vue组件封装——公用基础table组件
  16. c语言 宏定义 条件,c语言宏定义、条件编译
  17. 22款奔驰GLC260L改装23P驾驶辅助系统,这几大功能你还是有必要知道的!
  18. egg-jwt egg jwt 使用
  19. Tableua数据大屏——餐饮门店每日业务情况总览
  20. 一份完整的ACSII码表

热门文章

  1. 源码学习之EllipsizingTextView
  2. Linux系统引导过程及修复
  3. 自己找不到资源?不妨来试试这4个资源网站,各种资源一键到手!
  4. 如何制作 RedHat Linux6.7 系统 U盘安装盘
  5. Latex数学公式-求导、分数的表示
  6. 申请QQ密码保护,保护号码安全!(转)
  7. bzoj5042: LWD的分科岛 两种做法
  8. (工具ffmpeg)视频转换为flv格式,视频截取图片
  9. Pix4Dmapper 正射全景生成
  10. Python学习笔记之常用操作符,条件分支和循环用法示例