docker - 断开 SSH 后如何杀死/停止远程 Docker 容器
问题描述
我有一个通过 SSH 访问的远程 docker 容器。我通常使用 docker start 命令启动容器。
sudo docker start 1db52045d674
sudo docker exec -it 1db52045d674; bash
这将在容器中启动一个交互式 tty,我通过 ssh 访问它。如果我关闭 SSH 连接,我希望容器自行终止。有没有办法做到这一点?
解决方案
我希望有一个更优雅的解决方案,但最后我在 ssh 上启动了一个 bash 脚本来捕获 SIGHUP 之类的东西:
trap 'docker stop CONTAINER_NAME' SIGHUP;
while sleep 5;
do echo "foo";
done;
因此,当操作员关闭 SSH 连接时,陷阱会触发并且 docker 会很好地停止
推荐阅读
- javascript - 为什么按钮关闭不关闭窗口?
- python - 根据元素类型将列表拆分为两个列表?区分两个不同列表中列表的数字和字符串元素?
- amazon-web-services - AWS 100K 文件从文件服务器上传到 S3 存储桶
- kubernetes - 计算微服务集群运行成本
- javascript - 如何从不同的行添加相同类型的输入值?
- php - 使用图像干预缓存时不允许序列化“Illuminate\\Http\\UploadedFile”
- flutter - 使用不包含 MediaQuery 的上下文调用 MediaQuery.of(),即使包装在 MaterialApp 小部件下
- reactjs - 无法读取未定义的属性“包含” - 尝试从另一个文件中获取数据
- regex - PostgreSQL:在特定位置搜索部分单词
- neural-network - 成分分布的神经网络估计