Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Docker下载了32位图像,但告诉它是64位体系结构_Linux_Ubuntu_Docker_Dockerhub_Docker Registry - Fatal编程技术网

Linux Docker下载了32位图像,但告诉它是64位体系结构

Linux Docker下载了32位图像,但告诉它是64位体系结构,linux,ubuntu,docker,dockerhub,docker-registry,Linux,Ubuntu,Docker,Dockerhub,Docker Registry,我在这里可能完全错了,但是,我从docker注册表中提取,然后运行uname-a我得到x86\u 64 ➜ ~ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE erlang-build-box latest fd61e832201b 7 weeks ago

我在这里可能完全错了,但是,我从docker注册表中提取,然后运行
uname-a
我得到
x86\u 64

➜  ~  docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
erlang-build-box         latest              fd61e832201b        7 weeks ago         1.841 GB
hello-world              latest              e45a5af57b00        9 weeks ago         910 B
32bit/ubuntu             14.04               6de534a1b6e3        4 months ago        290.7 MB
phusion/passenger-full   0.9.10              29eb0419ab6f        10 months ago       649.3 MB
➜  ~  docker run -t -i 6de534a1b6e3 /bin/bash
root@c40d7c09be96:/# uname -a 
Linux c40d7c09be96 3.16.7-tinycore64 #1 SMP Tue Dec 16 23:03:39 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
root@c40d7c09be96:/# uname -m
x86_64
root@c40d7c09be96:/# 

我的理解是错误的,这台机器是64位的吗?

Docker容器总是使用来自主机的内核。你有一个64位的主机,这就是它报告的内容

容器映像是32位的,因为所有二进制文件都是32位的,可以由32位体系结构处理

Docker不进行虚拟化。


uname将始终告诉您64位。查看例如“file/bin/sh”以了解文件系统的真正架构。

只需注意:systemd nspawn可以“虚拟化”处理器模式,并欺骗内部的进程,使其相信它是一个32位处理器(由我测试)。好的,LXC也可以


我的意思是运行“uname-m”返回“i686”(我的主机操作系统运行在64位模式下)

要检查容器二进制文件的体系结构,可以使用命令
文件
检查它们。例如:
file/bin/bash