Docker
Docker 容器內的持久螢幕會話
我正在嘗試創建一個帶有執行一些腳本的螢幕會話的 Docker 容器。Dockerfile 包含
CMD screen -S session1 ./testLinux
當我以分離模式執行它時,它會立即關閉,說
Must be connected to a terminal.
如何在分離的 docker 容器中執行持久螢幕會話?
我可以用這個 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