Docker node.js Ctrl+C in Node.Js ssh deploy



我有一个 shell 脚本来部署 docker 应用程序,当我运行它时,ssh 连接没有终止,所以我需要强制退出终端。之后,该应用程序将继续运行。

我尝试过nohup,screen和&&没有成功。有没有办法优雅地释放连接?

ssh -tt $host "cd $appname && docker run -p 13370:13370 -ti $appname"

"docker run"的"-i"选项使STDIN保持打开状态。 "-t"选项分配一个伪 tty。

-i, --interactive=false         Keep STDIN open even if not attached
-t, --tty=false                 Allocate a pseudo-TTY

您需要告诉 docker 使用"-d"在后台运行您的命令并省略"-it"。

-d, --detach=false              Run container in background and print container ID

你不应该需要'-tt'来ssh。 试试这个:

ssh $host "cd $appname && docker run -p 13370:13370 -d $appname"

您可能还希望使用 --restart=always 指定重新启动策略。

--restart=no                    Restart policy to apply when a container exits

最新更新