我最近在学 docker ,想运行个 linux 的容器耍耍。
发现 Dockerfile 里不给它整个持续运行的命令,它就自动退出了。
各位有什么办法让它常驻吗?
我最近在学 docker ,想运行个 linux 的容器耍耍。
发现 Dockerfile 里不给它整个持续运行的命令,它就自动退出了。
各位有什么办法让它常驻吗?
1
Orenoid Mar 31, 2022 |
2
number Mar 31, 2022
启动个 sshd 服务
|
3
bootvue Mar 31, 2022 tail -f /dev/null
|
4
hzfyjgw Mar 31, 2022
运行一个实际对外 提供服务的 docker 容器,比如 nginx 之类的
|
5
lululau Mar 31, 2022
tail -f /dev/null 这个比 while true; do sleep; done 好 👍
|
6
xu45525584 Mar 31, 2022
在 docker 里跑 pm2 ? 或者 nginx
|
7
xiaoz Mar 31, 2022 via Android
看你容器里面运行的什么程序,部分程序支持前台运行的。不支持的可以用楼上的 tail -f
|
8
plko345 Mar 31, 2022 via Android cat 就行吧
|
9
ksc010 Mar 31, 2022
只要入口程序 不退出 容器也不会关闭
这个最好是结合你实际情况 若你只是想 临时测试啥的 可以 用 sleep 100000 若跑自己写的程序, 也可跑 supervisor 这样 通过 supervisor 管理的你程序的重启关闭,且不会导致容器关闭 |
10
vuevue Mar 31, 2022 via iPhone —restart=always
|
11
Tink PRO 随便起一个服务
|
12
cjpjxjx Mar 31, 2022
我一般用 ping 127.0.0.1 命令
|
13
tylinux Mar 31, 2022
这题我会:docker container run -it xxx /bin/sh ,如果要 daemon 运行就在加个 -d
|
15
sanwe Mar 31, 2022
好奇你跑的什么东西会自动退出
|
16
CEBBCAT Mar 31, 2022 搞不懂楼主想问什么,发帖前阅读文档了吗?
docker run --name myAlpine -itd alpine docker exec -it myAlpine sh |
17
d5 Mar 31, 2022
cat 就行
|
18
segama201901 Mar 31, 2022
只要容器内 PID1 进程不退出,容器会一直保持运行,一楼链接内例子很全。但是,尽量遵守 one container one process 原则。参考 https://devops.stackexchange.com/questions/447/why-it-is-recommended-to-run-only-one-process-in-a-container 。
|
20
sadfQED2 Mar 31, 2022 via Android
CMD /bin/bash
|
22
szyp Mar 31, 2022
top 就好了啊
|
23
SbloodyS Mar 31, 2022
|
25
fstar OP CMD /bin/sh 配合 -td 可以让容器持续运行,不是很懂为什么。
|