-
容器已启动但立即退出: 根据
STATUS列显示的Exited (1) 5 seconds ago,容器确实已被启动,但几乎立刻就退出了。退出状态码为1,通常表示在容器内部执行的命令(这里是/bin/bash)遇到非零退出状态,即出现了某种错误或异常导致命令执行失败。 -
看日志查看错误
sudo docker logs orin_docker
wk@OMEN-45L:~$ sudo docker logs orin_dockerexec /bin/bash: exec format errorexec /bin/bash: exec format errorexec /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上用。