情况是这样的:最近在做一个实验,在WINDOWS的虚拟机里装了一台UBUNTU,然后安装了docker,运行了一个镜像后一切正常。
之后在树莓派上安装了UBUNTU MATE系统,安装了docker,但运行同一个镜像后,感觉没成功(因为之前虚拟机里运行后,会跑出一大堆信息)。使用docker ps -a 查看发现没有port的值。
再仔细一下,发现STATUS状态为Exited。换句话说,就是根本没启动。
使用docker logs [容器ID] 命令查看,发现exec user process caused "exec format error"
然后查了半天,大部分回答都不得要领。最后还是在一个国外的帖子里找到了这个问题的回复。
大致意思是:如果镜像是在INTER的机器上编译的,那么只能在INTER的机器上加载,如果是ARM上编译的,只能在ARM的机器上加载。
换句话说,要解决这个问题,我就需要找到代码,然后在树莓派上重新编译。
那么至于哪里找那个镜像代码就是另外一回事情了,这里不说了。
虽然没有解决问题,但是至少知道了原因。希望对碰到同样问题的小伙伴有所帮助。