Dockerコンテナ内の永続スクリーンセッション

Dockerコンテナ内の永続スクリーンセッション

一部のスクリプトを実行するスクリーンセッションを使用してDockerコンテナを作成しようとしています。 Dockerfileには以下が含まれます。

CMD screen -S session1 ./testLinux

分離モードで実行するとすぐに終了します。

Must be connected to a terminal.

分離されたDockerコンテナ内で永続的な画面セッションを実行するには?

ベストアンサー1

このDockerfileを使用してそれを再現できます。

FROM centos:latest
RUN yum -y install screen && rm -rf /var/cache/yum
CMD screen -S session1 sleep 99999

私がそれを実行すると、私docker run <imageID>は得るMust be connected to a terminal.

画面を実行するには端末(tty)が必要です。解決策は、-tidヘルプから実行フラグを追加することでした。

 -d, --detach                         Run container in background and print container ID
 -i, --interactive                    Keep STDIN open even if not attached
 -t, --tty                            Allocate a pseudo-TTY

バラよりhttps://docs.docker.com/engine/reference/run/参考用。

おすすめ記事