何时需要 podman start 的“-i”,以及“-i”如何在 podman create 上工作?

何时需要 podman start 的“-i”,以及“-i”如何在 podman create 上工作?

podman create有一个-i标志,例如,如果没有终端的 STDIN,则不会发送您在容器中运行的程序(不要运行此)

podman run -t alpine:3 /bin/sh

如果不在另一个终端上杀死它,就无法退出。你应该跑的是

# Now with -i redirecting STDIN so you can `exit`
podman run -ti alpine:3 /bin/sh

现在您可以通过退出 shell 来退出。该podman create命令还有一个-i命令,其记录方式相同,

-i, --interactive Keep STDIN open even if not attached

甚至podman start有一个-i命令(以相同的方式记录),但在create...start序列的情况下,而不是 arun似乎所有-is 都是不必要的。这些应该做什么,它们有何不同?

podman create -t alpine:3 /bin/sh # no -i option
podman start -a -l                # no -i option, terminal accepts STDIN

看起来这个术语不应该读作 STDIN。

答案1

-i如果您指定-t,则不需要被记录为

当设置为 true 时,Podman 将分配一个伪 tty 并附加到容器的标准输入。例如,这可用于运行一次性交互式 shell。默认为 false。

-a和选项不能用于覆盖(取消)或赋予 的-i选项。当这些选项时它们很有用start-t-icreate不是指定create时间。请注意,其-i含义略有不同create:

即使未连接,也请保持 STDIN 打开。

v.start:

连接容器的 STDIN。

在这两种情况下,都可以不用或-i使用,尽管它可能不会做任何有用的事情(取决于容器中运行的命令的期望)。-t-a

相关内容