输出会转到“podman create”中指定的命令的哪里?

输出会转到“podman create”中指定的命令的哪里?

如果我使用 创建一个容器podman create,我似乎找不到任何显示我正在运行的命令的输出的选项系列。例如,这里我们可以运行一个带有“Hello World”的容器

$ podman run alpine:3 /bin/echo "Hello World"
Hello World

但是,如果我将其更改为

$ ctr=$(podman create alpine:3 /bin/echo "Hello World")
$ podman start $ctr

屏幕上没有任何输出,状态确实显示Exited

CONTAINER ID  IMAGE                            COMMAND               CREATED         STATUS                       PORTS                   NAMES
cc31f5a3cc95  docker.io/library/alpine:latest  /bin/echo Hello W...  14 seconds ago  Exited (0) 14 seconds ago                            modest_raman

我尝试了不同的选项podman create,包括-t-i、 和-ti,都具有相同的效果。输出去哪儿了?

ctr=$(podman create -ti alpine:3 /bin/echo "[ti] Hello World")
podman start $ctr

ctr=$(podman create -t alpine:3 /bin/echo "[t] Hello World")
podman start $ctr

ctr=$(podman create -i alpine:3 /bin/echo "[i]Hello World")
podman start $ctr

我也尝试过podman start -i(尽管此时我只是变得绝望)

答案1

除了状态之外,podman run还将启动容器随附的,

$ podman run alpine:3 /bin/echo "Hello World"
Hello World

然而,podman start启动他们超然的,但它提供了以下选项,

--attach-a附加容器的STDOUTSTDERR。默认为 false。启动多个容器时不能使用此选项。

所以你只需要

ctr=$(podman create alpine:3 /bin/echo "Hello World")
podman start --attach $ctr

相关内容