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现在你可以退出壳了。podman create命令还有一个-i命令,这是以同样的方式记录的,
-i, --interactive Keep STDIN open even if not attached甚至连podman start都有一个-i命令(用同样的方式编写),但是对于create . start序列,而不是run,似乎所有的-is都是不必要的。这些应该做什么,它们有什么不同?
podman create -t alpine:3 /bin/sh # no -i option
podman start -a -l # no -i option, terminal accepts STDIN似乎这个词不应该是读STDIN的。
发布于 2020-11-22 09:24:27
如果指定了-i,则不需要-t,哪个被记录为
当设置为true时,Podman将分配一个伪tty并附加到容器的标准输入。例如,这可以用来运行一个一次性的交互式shell。默认值为假。
-a和-i options start不能用来覆盖(取消)给create的-t或-i选项。当在create时没有指定这些选项时,它们是有用的。请注意,-i对create的含义略有不同:
即使没有连接,也要打开STDIN。
五. start:
附加集装箱的STDIN。
在这两种情况下,-i都可以在没有-t或-a的情况下使用,尽管它可能做不到任何有用的事情(取决于容器中运行的命令所期望的是什么)。
https://unix.stackexchange.com/questions/620896
复制相似问题