今天在创建nginx容器时出现了没有报错但容器不能启动的情况,启动后立马会关闭。网上的其它方法都没有用,重新安装容器也一样,最后在容器创建命令后面加上了/bin/bash创建后就没有不能启动的情况了。
原因:
容器同时只能管理一个进程,如果这个进程结束了容器就退出了,但是不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须要有一个进程在前台执行。
解决方案:
启动脚本最后一个进程一定要用前台运行方式 即在进程最后不加 &(&表示在后台执行),否则容器退出
可在脚本后加 /bin/bash ,如果还不行,就换为 tail -f /dev/null (实时查看/dev/null)