原因:
容器同时只能管理一个进程,如果这个进程结束了容器就退出了,但是不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须要有一个进程在前台执行。
解决方案:
启动脚本最后一个进程一定要用前台运行方式 即在进程最后不加 &(&表示在后台执行),否则容器退出。
方法1: 可在脚本后加 /bin/bash ,如果还不行,就换为 tail -f /dev/null (实时查看/dev/null)。
方法2: dockerfile文件写CMD 后台运行命令 && /bin/bash
可用调试方法:
docker run -it -d —name 容器名字 docker镜像名 /bin/bash
博客介绍了容器不退出的原因,即容器同时只能管理一个进程,要使容器不退出需有进程在前台执行。还给出解决方案,如启动脚本最后进程用前台运行方式,可在脚本后加 /bin/bash 或 tail -f /dev/null ,也可在 dockerfile 写 CMD 后台运行命令 && /bin/bash ,并提供了调试方法。
904

被折叠的 条评论
为什么被折叠?



