Tag: uname

在docker容器中运行的Python程序依赖于'uname -r'

我有一个Python程序,只能在Linux的某些发行版(如CentOS,Ubuntu等)中运行。 我想让它在CentOS7容器中运行,但是由于以下代码返回'4.9.49-moby': import platform platform.release() 该程序期望find一个Linux内核版本,即“3.10.0-327.el7.x86_64”。 假设我无法修改程序的源代码。 什么是我可以做的事情将解决这个问题? 我试着围绕'uname -r'编写一个包装脚本来返回我想要的。 但是这并没有什么帮助,因为Python显然是直接从内核中获取它的。

$(uname -a)在docker主机或任何docker容器中返回相同的值

为什么$(uname -a)返回与Docker容器内的主机相同的Linux内核? uname -a #=> Linux leo 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux docker run -ti –rm ubuntu:vivid-20150611 uname -a #=> Linux 147c3aff216b 3.13.0-55-generic #94-Ubuntu SMP Thu Jun 18 00:27:10 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 即使我的主机是Ubuntu 14.04(可靠),而容器是Ubuntu 15.04(生动),应该有内核3.19