2016-04-07 18 views
1

ドッカーはpid 1だけを聞き、pidが終了する(またはデーモンになる)と、プログラムが終了してコンテナがシャットダウンしたと考えられます。docker stop spark containerが終了しない

は、Apache-スパークは、私は、コンテナの実行を保持することができますどのように./start-master.shスクリプトを開始すると?

私は考えません:while true; do sleep 1000; doneは適切な解決策です。

など。私はcommand: sbin/start-master.shを使ってマスターを開始しました。しかし、それは閉鎖し続ける。

docker-composeで起動したときにその動作を維持する方法はありますか?

答えて

1

Use of Supervisor in docker」に記載されているように、phusion/baseimage-dockerをベースイメージとして使用して、スクリプトを「サービス」として登録することができます。

その画像に含まれるmy_init script出口信号管理の世話をします。

start-master.shによって起動されたプロセスは引き続き実行されています。
また、から始まるapache-sparkイメージを構築しているとします。

thaJeztahによってコメントとして、既存の画像を使用すると、あまりにも動作します:gettyimages/spark/~/dockerfile/。デフォルトのCMDはコンテナの実行を維持します。

両方のオプションは正常キル/退出信号を処理しませんtail -fトリック、に頼るよりもきれいです。

+0

クール私はこれで少し近づく必要があります。 phusionベースイメージを既に使用していますhttps://hub.docker.com/r/possibly/spark/ –

+0

または既存のイメージを使用してください。 https://hub.docker.com/r/gettyimages/spark/~/dockerfile/(または例として使用してください) – thaJeztah

+0

@thaJeztah良い点。より視認性の高い答えをあなたのコメントに追加しました。 – VonC

0

tail -f -n 50 /path/to/spark/logfile

これは生きているコンテナを維持し、また、あなたが-it対話モードを実行する場合の便利な情報を提供します。 -dをデタッチして実行すると、その状態が維持されます。

関連する問題