Docker 容器在 `docker 启动时立即退出

Docker container exits immediately on `docker start`

我正在尝试用 docker start my_container 启动一个 docker 容器,但它立即退出。它在某些机器上运行良好,但在其他机器上运行良好。这是我的过程:

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

当我通过 docker ps -a 检查 运行ning docker 进程时,我看到 my_container 的状态是 Exited (1) 2 seconds ago

当我运行docker logs my_container时,唯一的输出是:

standard_init_linux.go:190: exec user process caused "exec format error"

在我的案例中,根本问题是架构不匹配。

我的 Dockerfile 使用的是 amd64 基础图像。我从这个 docker 文件构建了一个图像并将其推送到远程存储库。然后我将图像拉到具有 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