我正在尝试创建一个 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.
Screen 需要终端 (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