Dockerfileを使用してdockerイメージを作成しています。 Dockerコンテナの起動中にいくつかのスクリプトを実行したいと思います。現在、必要なすべてのプロセスを実行するシェルスクリプトがあります
CMD ["sh"、 "start.sh"]
バックグラウンドの例で実行されているプロセスでシェルコマンドを実行したい
CMD ["sh"、 "-c"、 "mongod --dbpath/test&"]
Dockerのベストプラクティスに関するいくつかの点を既に指摘した質問に対するコメントのほかに、_ background プロセスをstart.sh
スクリプトを作成して、start.sh
スクリプト foreground でNohup
コマンドとアンパサンド(&
)。私はmongod
では試しませんでしたが、あなたのstart.sh
スクリプトは機能します。
#!/bin/sh
...
Nohup sh -c mongod --dbpath /test &
...