从 debian:stretch 镜像运行 docker 容器不起作用



我正在尝试运行一个基于 debian:stretch 映像的容器,但这不起作用:

docker container run --detach debian:stretch

输出:

7976eb7074289a741a2b183634345fc8519359cba4d543c03b0a6d4e5d7e0d53

docker ps -a

输出:

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
7976eb707428        debian:stretch      "bash"              3 seconds ago       Exited (0) 2 seconds ago                       vigorous_lumiere

虽然它适用于最新的nginx图像:

docker run --detach nginx:latest

53ed18b5d1a7c72aa92bab0ca679269514db79f31a1d3759c2e25c7fdb1e82ff

docker ps -a

输出:

CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES
53ed18b5d1a7        nginx:latest        "nginx -g 'daemon of…"   2 seconds ago        Up 2 seconds                    80/tcp              admiring_hawking
7976eb707428        debian:stretch      "bash"                   About a minute ago   Exited (0) About a minute ago                       vigorous_lumiere

为什么我正在实例化的基于 debian:stretch 镜像的容器不起作用?这是来自 debian 镜像吗?

我正在运行 Docker 版本 18.09.1,在 Ubuntu 42 上构建 16.04b90

您的容器实际上什么都不做:它启动一个 shell,但由于它作为后台进程运行并且其标准配置上没有任何内容,因此它会立即退出。

您应该阅读有关构建和运行自定义映像的官方 Docker 教程。 通常,您应该通过将应用程序构建到自定义映像中,设置该映像的默认 CMD 以运行应用程序,并使用 docker builddocker run(或 Docker Compose 等工具)运行程序集。 运行一个普通的Linux分发容器没有多大意义。

(还要记住,docker rm容器是非常常规的,因此您在容器中的交互式 shell 中执行的任何操作都很可能会丢失。

最新更新