获取32位CentOS Docker镜像遇问题:容器内核显示为64位
为什么你的32位CentOS容器显示64位内核?
嘿,别担心,你其实没操作错!这个现象是容器技术的特性导致的,我来给你拆解清楚:
uname -a显示的是宿主机内核,不是容器用户空间架构
容器是共享宿主机内核的,不管你运行的是32位还是64位容器镜像,uname -a都会返回宿主机的内核信息。你看到的x86_64是宿主机的64位内核,这完全正常——64位Linux内核本身就支持运行32位的用户空间程序。正确验证容器是否为32位的方法
要确认容器的用户空间是32位,你可以在容器内执行这些命令:- 检查系统二进制文件的架构:
如果输出里包含file /bin/bashELF 32-bit LSB executable,就说明是32位环境。 - 查看系统的字长:
返回getconf LONG_BIT32就代表是32位系统。
- 检查系统二进制文件的架构:
关于
i386/centos:6镜像
你用的i386/centos:6镜像本身确实是32位的用户空间镜像,只是因为共享宿主机内核,才会在uname里看到64位的信息,这不是你的操作问题哦。
内容的提问来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

