首页 > 解决方案 > 断开 SSH 后如何杀死/停止远程 Docker 容器

问题描述

我有一个通过 SSH 访问的远程 docker 容器。我通常使用 docker start 命令启动容器。

sudo docker start 1db52045d674
sudo docker exec -it 1db52045d674; bash

这将在容器中启动一个交互式 tty,我通过 ssh 访问它。如果我关闭 SSH 连接,我希望容器自行终止。有没有办法做到这一点?

标签: dockerssh

解决方案


我希望有一个更优雅的解决方案,但最后我在 ssh 上启动了一个 bash 脚本来捕获 SIGHUP 之类的东西:

trap 'docker stop CONTAINER_NAME' SIGHUP;
while sleep 5;
do echo "foo";
done;

因此,当操作员关闭 SSH 连接时,陷阱会触发并且 docker 会很好地停止


推荐阅读