Podmanを実行できるようにheredocを提供する方法は?

Podmanを実行できるようにheredocを提供する方法は?

実行時にはbuildah主にheredocを使用します。

ctr=$(buildah from alpine:3);

buildah run $ctr sh -- <<EOF
  apk update;
  apk add git;
EOF

buildah commit $ctr heredoc_demo;

しかし、Podmanで同じことをしようとすると、次のエラーが発生します。

警告入力デバイスがTTYではありません。 --tty および --interactive フラグが正しく動作しないことがある

あなたは得ることができます、

❯ podman run -ti alpine:3 sh -- <<EOF
  echo 42
EOF
WARN[0000] The input device is not a TTY. The `--tty` and `--interactive` flags might not work properly

または何も起こらない

podman run alpine:3 sh <<EOF

ここで正しい呼び出しは何ですか?

ベストアンサー1

2つのオプションがあります。参考にしてください。

  • 使用しないでください-t--tty
  • 使用してください-i--interactive

これは次のとおりです。

podman run -i heredoc_demo sh -- <<EOF
    echo "Hello world";
EOF

または、

cat <<EOF | podman run -i heredoc_demo sh -
    echo "Hello world";
EOF

おすすめ記事