小白提问,如何让 Docker 容器不随着 SSH 客户端连接退出而结束

2023-01-08 10:31:27 +08:00
 hu6u
我在容器里跑脚本,我该如何退出容器以及关闭 ssh 连接,并且能让容器里的脚本一直运行呢?我发现我关闭 ssh 连接后,容器就退出了 exited 。
2333 次点击
所在节点    问与答
11 条回复
Muniesa
2023-01-08 10:35:41 +08:00
docker exec 进容器,后台运行脚本,这样退出容器和 ssh 不会影响。或者直接用 docker exec -itd 运行脚本。
Maysec
2023-01-08 10:36:47 +08:00
可以看一下 screen 命令
swulling
2023-01-08 10:43:03 +08:00
run -d
bowser1701
2023-01-08 10:48:27 +08:00
是不是用的轻量云,可以在 tmux 里面起 container ,不会被杀掉。

不知道是不是服务器运营商会检测 tty 啥的
kaneg
2023-01-08 10:56:58 +08:00
试试这个:docker run --name box -d -it busybox sh
Aaron7Amelia
2023-01-08 10:57:47 +08:00
脚本最后面加一个 while 循环,一直 sleep
Semidio
2023-01-08 11:03:42 +08:00
nohup
screen
tmux
或者
systemd
或者
docker run -d
codyfeng
2023-01-08 11:07:19 +08:00
如果是 attach 到 container 里跑脚本,可以按 ctrl+p ctrl+q 快捷键 detach
hu6u
2023-01-08 11:26:40 +08:00
@Muniesa 感谢,已经可以了,run 的时候 -d 了,exec 进去跑脚本没有 -d
Lijinghong
2023-01-08 18:17:52 +08:00
screen
julyclyde
2023-01-09 09:42:45 +08:00
让你的程序作为容器的主进程
不要单独启动一个空白容器然后另外进去启动实际干活的进程

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/907313

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX