如果我使用 创建一个容器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
附加容器的STDOUT
和STDERR
。默认为 false。启动多个容器时不能使用此选项。
所以你只需要
ctr=$(podman create alpine:3 /bin/echo "Hello World")
podman start --attach $ctr