新手提问:如何退出 docker 容器而不让容器 exit

2022-10-18 10:57:59 +08:00
 proxytoworld

我用docker run -it -d -v path:path ubuntu:latest /bin/bash启动一个后台容器,然后 docker attach 进入容器内部 shell 中,每次我使用 exit 退出容器,docker ps -a 中该容器就会 exit ,由于我使用的是 mobaxterm ,没办法 ctrl p + ctrl q 退出。

还有什么办法可以退出容器不让容器 exit 呢

2294 次点击
所在节点    Docker
15 条回复
Nitroethane
2022-10-18 11:00:36 +08:00
试试用 exec 子命令起一个新进程,而不是 attach 到正在运行的进程上
jellyspot
2022-10-18 11:01:52 +08:00
用 exec ,另外你容器没有 0 号常驻进程吗?
listenfree
2022-10-18 11:04:50 +08:00
docker exec -it 客器 ID bash
proxytoworld
2022-10-18 11:05:12 +08:00
@jellyspot 我原先在里面 nohup python xxx.py 起了一个进程,然后 exit 他就推出了
proxytoworld
2022-10-18 11:06:11 +08:00
@listenfree
@Nitroethane
@jellyspot


docker exec 就不会退出吗,这是什么原理
xmoon
2022-10-18 11:08:50 +08:00
@proxytoworld exec 等于是在容器 namespace 里新开的进程 而 attach 是附加到原来已经在启动的进程
ruhook1
2022-10-18 11:10:47 +08:00
`docker exec 就不会退出吗,这是什么原理` 感觉可以大概看一下 docker 的教程 ?
jellyspot
2022-10-18 11:13:36 +08:00
@proxytoworld 因为你 1 号进程没了,docker 持续运行,必须有一个 1 号常驻进程,进程没了,就退出了
proxytoworld
2022-10-18 11:15:55 +08:00
@ruhook1 哦哦
proxytoworld
2022-10-18 11:16:03 +08:00
@jellyspot 大概理解了
little5bro
2022-10-18 11:19:47 +08:00
docker run -it -d -v path:path ubuntu:latest tail -f /dev/null
killva4624
2022-10-18 11:26:11 +08:00
weivi
2022-10-18 13:44:50 +08:00
找点 docker 的教程视频看看,容易踩的坑,,视频里大多有提点
neowong2005
2022-10-18 14:34:04 +08:00
启动时拉一个前台进程
scola
2022-10-18 21:51:37 +08:00
用 screen

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

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

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

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

© 2021 V2EX