如何安装32位Docker容器

时间:2018-10-16 20:37:32

标签: docker

我正在尝试使用Ubuntu 14.04创建32位docker映像,并且每当我运行uname时,都会看到它是x86_64而不是i386。谁能告诉我为什么会这样吗?

docker run talex5/lucid32 uname -m

奇怪的是,当我以另一种方式查询架构类型时,它说的是32位:

docker run i386/ubuntu:14.04 file /sbin/init

  

/ sbin / init:ELF 32位LSB共享对象,英特尔80386,版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.24,BuildID [sha1] = c394677bccc720a3bb4f4c42a48e008ff33e39b1,已剥离`

当我下载说它们是32位的不同docker映像时,甚至当我使用debootstrap创建自己的docker映像时,这种情况始终会发生。

谢谢!

2 个答案:

答案 0 :(得分:3)

uname报告内核的版本和操作系统详细信息,但是Docker容器始终使用主机系统的内核,如果是64位内核,它将报告x86_64

使用32/64位混合操作系统安装(在libc6:i686之类的Ubuntu土地上安装软件包)运行时,应该会看到相同的结果;在chroot中具有32位文件系统树;并在Docker容器中;与在具有64位内核的系统上运行32位二进制文​​件的情况相同。

答案 1 :(得分:0)

如今,只需一个简单的脚本即可实现。您可以使用https://github.com/docker-32bit/ubuntu