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