冷静分析,不要希望找到一个文档copy指令执行,就能解决问题。慢就是快
问题
按照docker官方安装教程安装后,docker服务无法启动。
过程
- 按照systemctl restart docker命令的错误提示查看日志;
- 查询日志中出错的语句;
- 在做了一些尝试后,找到提示使用dockerd命令可以获取更详细提示;
- 发现提示ip_table命令执行失败,对该错误进行了一些搜索,发现可能是内核配置失败,查看了内核配置信息,没有发现大的问题;
- 偶然查看了dmesg,发现有加载iptable_nat模块的时候,有符号未找到;
- 查询kallsyms发现的确没有该符号,查看源码,Makefile,Kconfig文件,找到所在模块,手动插入该模块,进而执行成功;
- 随后查询Modules.dep文件,发现模块依赖关系是正常的,但是不知道为什么modprobe没有正常插入依赖模块。
经验
- 在配置环境这种工作上,一定要冷静分析,不要寄希望于一个文档上的命令copy下来就能解决;在配置环境的工作中分析问题是对该项目的学习于了解,是利用已有知识的解决问题的机会;
- 一定要冷静分析,记录过程;
- 不懂的命令不要瞎执行,查一查再执行