Docker容器在docker start上立即退出

时间:2018-12-17 18:01:06

标签: docker arm amd ros

我正在尝试使用docker start my_container启动一个docker容器,但是它立即退出。它在某些机器上可以正常工作,但在其他机器上却不能。这是我的过程:

  1. 通过docker pull <repo>:latest
  2. 拉出图像
  3. 通过docker create --name my_container <repo>:latest创建容器
  4. 通过docker start my_container
  5. 启动容器

当我通过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"

1 个答案:

答案 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