docker 与 CentOS 不得不说的故事

2015-06-25 11:22:28 +08:00
 johnsmith123

半年前我开始关注这个issue

Kernel Panic when mounting volumes on RHEL 6.5 using Docker 1.4.0, Docker 1.4.1, with latest device mapper

没错是Kernel Panic,也就是说,满足一定的条件(这个条件非常朴实)启动容器的时候机器会挂掉!

来张堪称经典的图片吧:

然而docker官方依旧写着支持CentOS6.5+系列(半年前,现在我有一定的把握他们还是这么写的)

那时之后我虽然放弃了docker,不过还是依旧关注着这个issue。

到了前段时间,去提交这个BUG的人越来越多,最后这个问题被提到了redhat官方,而官方的答复是:

没错,想好好玩docker,先装个rh7再说吧。

这再次证明了目前来讲docker不过是一个只能在一些后期支持不太好的发行版上玩玩的东西,并不适合大规模的应用。

不过如果公司有钱,没事玩玩这个风口上的搓比软件也无所谓(此处求打脸)。

当然docker还有很多很多坑,只不过这个坑我实在是难以忍受。

9451 次点击
所在节点    Docker
28 条回复
initialdp
2015-06-25 11:26:36 +08:00
玩docker用Ubuntu才是正确姿势吧
johnsmith123
2015-06-25 11:29:50 +08:00
@initialdp :) 你要这么说那我也没话说了。
powergx
2015-06-25 11:42:28 +08:00
玩了一个星期,docker 就是一坨屎, 经常会有奇葩的不兼容问题。
特别是牵涉到网络
johnsmith123
2015-06-25 11:44:14 +08:00
@powergx 网络确实是个大坑,不过使用默认的端口映射的话还好。
docker的话,推广做得不错:)
jade88
2015-06-25 11:58:23 +08:00
这个我之前也遇到过,你可以手动更新内核到3.10,然后用最新的docker,docker和服务器版本并不是强绑定的
johnsmith123
2015-06-25 12:02:53 +08:00
@jade88 ..此刻我的心中必是万个**在奔腾,不过确实是个解决的方法,然而本人已放弃docker:)
9hills
2015-06-25 12:05:05 +08:00
如果面对Kernel Panic,只会吐槽这个cuoB软件。。

那你就不适合用这种业界前沿技术。

只有大公司才能靠研发团队 cover住这种风险
Andiry
2015-06-25 12:10:54 +08:00
这个stack很清楚啊,不知道为什么Redhat不去修。难道他们已经放弃6系列的support了。
johnsmith123
2015-06-25 12:24:02 +08:00
@9hills 据我所知,有不少人说docker代码的内部实现很cuo(虽然我没读过)。根据我使用的经验,确实用起来很cuo,感觉还不如直接上lxc。之前github上有个腾讯的人,他们公司定制了内核,然后docker出了问题感觉都会躺枪。
kernel panic一般的大公司也不一定能hold住吧。
johnsmith123
2015-06-25 12:27:47 +08:00
@Andiry 本来对CentOS的支持就不大好。这只是最严重的一点吧。
powergx
2015-06-25 12:38:15 +08:00
@johnsmith123 gre 时好时坏,要么ip 是随机的,只有启动之后才能制定ip
kxxoling
2015-06-25 12:38:22 +08:00
记得 docker 官方是推荐 Ubuntu 还是 Debian 来着。。。CentOS 6 不支持是因为 docker 依赖一些内核特性吧?Ubuntu 12.04 也都先安装补丁才能用。
johnsmith123
2015-06-25 12:41:12 +08:00
@kxxoling Debian系,不过CentOS6.5+也是支持的,半年前的官方文档是这么写的。
9hills
2015-06-25 12:45:33 +08:00
@Andiry 内核版本,不太可能搞的
Andiry
2015-06-25 12:45:51 +08:00
@johnsmith123 只是kernel太旧了而已。不支持是正常的。
kernel panic这种东西,无非是内核跑挂了而已,跟应用程序崩掉没什么两样。这种debug属于底层工程师的基本技能,何来什么hold不住一说
johnsmith123
2015-06-25 12:48:35 +08:00
@Andiry 。。头一次听说hold kernel bug是底层工程师的基本技能。还好我不是底层研发,只是个装系统的。
Andiry
2015-06-25 12:51:40 +08:00
@johnsmith123 我说的底层工程师就是内核工程师。当然公司里一个都没有就没办法了,但是大公司除非完全不和内核打交道,一般不会没有。
Andiry
2015-06-25 12:54:38 +08:00
其实就算完全不懂内核,这个问题要debug也很简单。前面有人说3.10的kernel没问题,那么在2.6.32和3.10之间直接做git bisect就行了,无非费点时间。
johnsmith123
2015-06-25 12:56:23 +08:00
@Andiry 我厂还没大到那种程度。。那你直接说kernel工程师就好了。这种人我感觉天朝也没几个吧,知名的也就华为和阿里的内核组=。=
tywtyw2002
2015-06-25 14:31:24 +08:00
你难道不知道 越是核心的模块越是一个人在写吗?

很多东西除了当事人,其他人都是在看天书。
据我朋友说一个6人的组在开发ib userspace 驱动,一个人写核心,2个人修修补补做做测试,一个qa,一个写testcase,再来一个打酱油的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/201014

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX