我正在尝试使用docker start my_container
启动一个docker容器,但是它立即退出。它在某些机器上可以正常工作,但在其他机器上却不能。这是我的过程:
docker pull <repo>:latest
docker create --name my_container <repo>:latest
创建容器docker start my_container
当我通过docker ps -a
检查正在运行的docker进程时,发现my_container
的状态为Exited (1) 2 seconds ago
。
当我运行docker logs my_container
时,唯一的输出是:
standard_init_linux.go:190: exec user process caused "exec format error"
答案 0 :(得分:0)
在我的案例中,潜在的问题是架构不匹配。
我的Dockerfile
使用的是amd64
基本图像。我从该dockerfile构建了映像,并将其推送到远程存储库。然后,我将图像拉到具有arm32v7
体系结构的设备上,从该图像创建了一个容器,然后尝试运行该容器。
从下面的基本映像构建的docker映像将在amd64
上工作-在arm32v7
上将不工作。
FROM amd64/ros:kinetic-ros-core-xenial
从下面的基本映像构建的docker映像将在arm32v7
上工作-在amd64
上将不工作。
FROM arm32v7/ros:kinetic-ros-core-xenial
从Dockerfile
构建的docker映像具有以下定义的基本映像,将默认为当前计算机的体系结构。
FROM ros:kinetic-ros-core-xenial