在Docker CMD中执行后台进程的命令

我正在使用Dockerfile创build一个docker镜像。 我想在启动Docker容器时执行一些脚本。 目前我有一个shell脚本来执行所有必要的过程

CMD [“sh”,“start.sh”]

我想执行一个在后台运行的进程的shell命令

CMD [“sh”,“-c”,“mongod –dbpath / test&”]

除了已经指出了Docker最佳实践的一些问题之外,您还可以在start.sh脚本中启动一个后台进程,并使用nohup命令和&符号( & )。 我没有尝试用mongod但是在你的start.sh脚本中可以使用下面的代码:

 #!/bin/sh ... nohup sh -c mongod --dbpath /test & ...