cloudscode / ToDo

0 stars 0 forks source link

Docker为什么刚运行就退出了? #16

Closed cloudscode closed 7 years ago

cloudscode commented 7 years ago

Docker为什么刚运行就退出了?

cloudscode commented 7 years ago

原因

Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出。

解决

简单的解决方案可能是添加一个循环:

while true; do sleep 1000; done

例子,在start.sh脚本增加以下:

if [[ $1 == "-d" ]]; then
  while true; do sleep 1000; done
fi

if [[ $1 == "-bash" ]]; then
  /bin/bash
fi

Dockerfile文件中使用:

CMD ["/etc/start.sh", "-d"]

Why docker container exits immediately