Docker - 避免启动container后运行shell脚本执行完成后docker退出container

问题

最近在使用 Dockerfile 启动容器,发现使用Dockerfile调用容器里面的shell,当shell执行完成以后,docker会退出容器。

 

分析

Docker 在执行shell的时候,是在后台执行的;因此,在shell执行完成以后,docker检测到没有前台任务需要执行,便退出container.

 

解决方法

在shell脚本的最后加上一个“永远完成不了”的命令:

# tail -f /dev/null

这样当执行到这条命令的时候,shell便不会退出,container也不会退出。

 

posted @ 2017-02-15 13:27  TonyZhang24  阅读(9117)  评论(0编辑  收藏  举报