2016-01-28 24 views
0

我有一個shell腳本來部署docker應用程序,當我運行它時,ssh連接沒有終止,所以我需要強制退出終端。之後,該應用仍在運行。Docker node.js Node.Js中的Ctrl + C部署

我試過nohup,屏幕和&沒有成功。有沒有方法可以優雅地釋放連接?

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

*我試過nohup,屏幕* ...你怎麼試試?沒有他們,我只能看到命令。 – Jakuje

回答

2

'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