Docker 为什么要求 CentOS-系统在 6.5 以上?既然只用到内核,只升级内核为什么不可以?

2020-10-04 11:15:12 +08:00
 programV2

既然 centos 是以 linux 内核为基础将各种开源的软件编译成操作系统。为什么有些 Linux 软件比如 docker,既要求升级 os 版本,又要求升级内核? 只升级内核为什么不可以? 谢谢🙏

3431 次点击
所在节点    程序员
15 条回复
programV2
2020-10-04 11:17:36 +08:00
如果是软件依赖的问题的话,升级相关的依赖就可以了,为什么一定要求升级操作系统版本呢?
youla
2020-10-04 11:27:43 +08:00
估计 OTA 一个系统和 FULL_OTA 还是有不少区别的,不然为什么出新镜像,而不是让你一直系统更新...我估计了一通乱讲的……
also24
2020-10-04 11:28:09 +08:00
这个 6.5 的要求,是从哪里看到的?

我看了下官方文档,说的是:
To install Docker Engine, you need a maintained version of CentOS 7. Archived versions aren’t supported or tested.

https://docs.docker.com/engine/install/centos/#prerequisites


但是如果你去看二进制安装的文档,里面是写清楚了对内核、软件包的具体要求的:
https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux
nomansky
2020-10-04 11:32:49 +08:00
理论上可以,但那么多软件依赖你升级得过来么,况且软件又依赖其他软件依赖。我前几天在 centos6.1 上装 php 7.4 可是折腾了好久,这就是兼容老版本的隐形成本
programV2
2020-10-04 11:43:38 +08:00
@also24 从这篇博文里面看到,可能官方更新了吧。https://www.css3er.com/p/157.html

谢谢你分享的链接,我去看了好像二进制安装只对内和和 64 位系统有要求? 你意思就是二进制安装方式对操作系统的发行版本不做限制了?
angryfish
2020-10-04 11:47:40 +08:00
肯定可以啊,只不过,人家没在那些环境做测试,出啥幺蛾子了,你自己抗吧
also24
2020-10-04 11:53:39 +08:00
@programV2 #5

1 、官方说支持 7,并不代表绝对不支持 6,只是说官方未做相应测试,也不做兼容性保证。

2 、一个发行版的版本号,往往是代指了一组默认的软件包版本号,理论上来说,你可以把 CentOS 6 自带的所有软件包都升级到 7 的默认版本,那么这个时候它是 7 还是 6 呢?

3 、二进制安装的要求,说白了就是抛开发行版,只看具体的限制,所以限制条件会写的更明晰一些。
LokiSharp
2020-10-04 12:15:30 +08:00
可以的,自行解决依赖问题就好了
gstqc
2020-10-04 14:37:23 +08:00
CentOS 不是基本可以无脑升级最新小版的吗
闭眼 yum update
msg7086
2020-10-04 15:38:48 +08:00
1. 发行版包含内核和各种周边类库。加功能的时候,不仅会涉及到内核,还可能涉及到一些核心库比如 libc6 。

2. 如果你自己编译,或者别人编译的时候特意降低了依赖库版本,那么编译出来的程序是有可能运行在老系统上的。比如 Debian 官方编译的 PHP 7.4 bullseye 包,因为是在 bullseye 上编译的,所以 libc6 依赖到了 2.29 。( bullseye 上现在是 2.31 。)但是如果你把同样的源码包放在 buster 上编译打包,那么依赖就会降到 2.28 以下。

所以如果你自己维护 CentOS 发行版上的软件,那么实现 CentOS 老版本上运行 Docker 也是有可能的。但是因为 CentOS 6 早就 End of full updates 了,所以大家都不太愿意去支持这么古老的发行版了。
wangritian
2020-10-04 20:35:08 +08:00
可能是 6.5 版本才开始支持命名空间
UnknownR
2020-10-04 22:15:47 +08:00
你有这时间去升级依赖,安装个系统不是更方便?如果是 docker ce,还是建议 centos 7.8 以上,之前用 7.5 的装了 docker ce,出现了无法启动的问题。
fox0001
2020-10-05 07:35:51 +08:00
不是不可以,只是人家官方测试过了,按官方指南去做,少折腾。
flynaj
2020-10-05 11:10:51 +08:00
软件依赖不止内核,运行库才是最大问题,Docker 就是解决这个问题的方案之一。已经结束生命周期的操作系统一般不受支持,你写个软件还有测试 xp,ie6 ,那成本大大提高
julyclyde
2020-10-08 10:08:39 +08:00
@programV2 不要看这种山寨文章。写这的人水平也许还不如你呢

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

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

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

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

© 2021 V2EX