을 실행할 때 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
두 가지 옵션이 있습니다. 참고하세요.
- 사용하지 마세요
-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