大多数情况下,使用这两个中的一个,我可以知道哪个操作系统在我的Docker容器(高山,centOS等)中运行,
但这一次,我不能说:
bash-4.2$ uname -a Linux 6fe5c6d1451c 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux bash-4.2$ more /etc/issue \S Kernel \r on an \m
任何方式来获得它正在运行的操作系统的文本版本?
我喜欢使用Screenfetch 。 你可能想尝试一下。
如果你看看代码,你可以看到它是如何决定分配的:
lsb_release -sirc cat /etc/os-release 并且也覆盖CentOS:
cat /etc/issue uname会告诉你正在运行的内核,这是主机操作系统的内核(与VM不同,容器共享相同的内核)。
为了识别容器的基础图像,容器内部没有保证的解决scheme。 你可以从像Janosch(Debian,CentOS和Alpine等大多数供应商的/ etc / os-release,或Ubuntu的/ etc / lsb-release)这样的主要供应商那里寻找指针。 如果安装了软件包pipe理工具(/ etc / apk,/ etc / apt,/ etc / yum),也可以检查软件包pipe理工具。
在容器外面,您可以检查图像并追踪图层,以查看图像来自哪里,但是findsha256校验和。 最好的方法是查看用于构build映像的Dockerfile。