web-dev-qa-db-ja.com

Docker CMDでバックグラウンドプロセスを実行するコマンド

Dockerfileを使用してdockerイメージを作成しています。 Dockerコンテナの起動中にいくつかのスクリプトを実行したいと思います。現在、必要なすべてのプロセスを実行するシェルスクリプトがあります

CMD ["sh"、 "start.sh"]

バックグラウンドの例で実行されているプロセスでシェルコマンドを実行したい

CMD ["sh"、 "-c"、 "mongod --dbpath/test&"]

32
Jeevitha G

Dockerのベストプラクティスに関するいくつかの点を既に指摘した質問に対するコメントのほかに、_ background プロセスをstart.shスクリプトを作成して、start.shスクリプト foreground Nohupコマンドとアンパサンド(&)。私はmongodでは試しませんでしたが、あなたのstart.shスクリプトは機能します。

#!/bin/sh
...
Nohup sh -c mongod --dbpath /test &
...
26
h3nrik