Docker node.js在Node.Js中的Ctrl + C ssh deploy
我有一个shell脚本来部署docker应用程序,当我运行它时,ssh连接没有终止,所以我需要强制退出terminal。 该应用程序保持运行之后。
我已经尝试了nohup,屏幕和&没有成功。 有没有一种方法来优雅地释放连接?
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
- 使用docker运行容器时出错
- Docker – 文件中基于dynamic正则expression式的sedreplace
- eval“$(docker-machine env default)”
- 在容器中设置ENVvariables不工作,是否在容器运行时执行“/ usr / local / bin”下的每一个?
- 如何在.sh文件中运行“docker-compose up”命令?
- Docker和.bash_history
- 如何在Dockerfile中设置.bash_profile环境variables?
- 当从Dockerfile调用脚本时,如何防止出现`#!/ bin / bash:not found`错误
- 当通过shell脚本启动Django Docker容器时,Django port在容器中不能打开