-
容器已启动但立即退出 : 根据
STATUS
列显示的Exited (1) 5 seconds ago
,容器确实已被启动,但几乎立刻就退出了。退出状态码为1
,通常表示在容器内部执行的命令(这里是/bin/bash
)遇到非零退出状态,即出现了某种错误或异常导致命令执行失败。 -
看日志查看错误
bash
sudo docker logs orin_docker
bash
wk@OMEN-45L:~$ sudo docker logs orin_docker
exec /bin/bash: exec format error
exec /bin/bash: exec format error
exec /bin/bash: exec format error
docker logs orin_docker
输出显示连续三次相同的错误信息:"exec /bin/bash: exec format error"。这个错误通常表示容器内尝试执行的二进制文件(在这里是 /bin/bash
)与当前系统架构不兼容。
问题分析:
-
架构不匹配 : 错误信息中的"exec format error"指出,Docker容器在尝试执行
/bin/bash
时,发现该二进制文件的格式与当前系统的处理器架构不匹配。这意味着容器镜像(5182263ec9f1
)可能构建于一个与宿主机不同的CPU架构上。 -
宿主机与容器架构差异 : 您的宿主机(OMEN-45L)很可能是基于x86_64(AMD64)架构的。然而,容器内
/bin/bash
的格式错误提示表明,该镜像可能为ARM或其他非x86架构构建。因此,当容器尝试在x86_64宿主机上运行非x86_64的/bin/bash
时,就会出现"exec format error"。
结论:是的,我本地机器是x86的,镜像是arm的。没办法把arm的镜像生成的容器在x86上用。