我用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 呢
1
Nitroethane 2022-10-18 11:00:36 +08:00 via iPhone
试试用 exec 子命令起一个新进程,而不是 attach 到正在运行的进程上
|
2
jellyspot 2022-10-18 11:01:52 +08:00
用 exec ,另外你容器没有 0 号常驻进程吗?
|
3
listenfree 2022-10-18 11:04:50 +08:00
docker exec -it 客器 ID bash
|
4
proxytoworld OP |
5
proxytoworld OP |
6
xmoon 2022-10-18 11:08:50 +08:00 via iPhone
@proxytoworld exec 等于是在容器 namespace 里新开的进程 而 attach 是附加到原来已经在启动的进程
|
7
ruhook1 2022-10-18 11:10:47 +08:00
`docker exec 就不会退出吗,这是什么原理` 感觉可以大概看一下 docker 的教程 ?
|
8
jellyspot 2022-10-18 11:13:36 +08:00
@proxytoworld 因为你 1 号进程没了,docker 持续运行,必须有一个 1 号常驻进程,进程没了,就退出了
|
9
proxytoworld OP @ruhook1 哦哦
|
10
proxytoworld OP @jellyspot 大概理解了
|
11
little5bro 2022-10-18 11:19:47 +08:00
docker run -it -d -v path:path ubuntu:latest tail -f /dev/null
|
12
killva4624 2022-10-18 11:26:11 +08:00
|
13
weivi 2022-10-18 13:44:50 +08:00
找点 docker 的教程视频看看,容易踩的坑,,视频里大多有提点
|
14
neowong2005 2022-10-18 14:34:04 +08:00 via Android
启动时拉一个前台进程
|
15
scola 2022-10-18 21:51:37 +08:00 via iPhone
用 screen
|