docker - 在 64 位主机上运行 32 位 LXC?

标签 docker lxc

我在想 64 位主机可以启动 32 位 LXC,因为我们可以选择在 LXC 创建期间指定架构。

 hostmc$> lxc-create -n ubuntu -t ubuntu -- i386

主机:

 hostmc$> uname -a Linux D 3.11.0-26-generic #45~precise1-Ubuntu SMP Tue Jul 15 04:02:35 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

但是在登录到 32 位 LXC 容器时,我发现 uname -a 将 arch 指定为 x86_64,甚至运行文件命令也将 arch 指定为 x86_64 而不是 i386

   hostmc$> lxc-console -n ubuntu

   ubuntu@ubuntu:~$ uname -a
   Linux ubuntu 3.11.0-26-generic #45~precise1-Ubuntu SMP Tue Jul 15 04:02:35 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

   ubuntu@ubuntu:~$ file /bin/ls
   /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x37cdd635587f519989044055623abff939002027, stripped

最佳答案

在我的 Debian 8.2 (jessie) 上,我得到:

root@srv1:~# uname -a
Linux srv1 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) x86_64 GNU/Linux

root@srv1:~# lxc-create -n vm -t debian --dir /data/vm -- -a i386
...
root@srv1:~# lxc-start -n vm
...
(in the VM)
root@vm:~# uname -a
Linux vm 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u4 (2015-09-19) i686 GNU/Linux

与您的示例的主要区别在于 -a 标志。

关于docker - 在 64 位主机上运行 32 位 LXC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945355/

相关文章:

linux - 在 yocto 中构建元虚拟化层

linux - libvirt lxc 错误消息

networking - Docker 接收多播流量

docker - 阻止 NebulaGraph 使用 Cassandra 端口

docker - 构建 Docker 镜像时 Go 构建失败

docker - 如何在 Ansible 中使用 docker_image 和 docker_container 模块

io - 在生产环境中,在 LXC 或 Docker 中运行 Cassandra 是个好主意吗?

docker - 加载 native 库时出错“/app/runtimes/linux/native/libgrpc_csharp_ext.x64.so - Grpc Core on Docker 容器

linux - 将文件转储到 lxc 容器外

linux-kernel - LXC/docker.io和内核更新