2016-05-12 5 views
1

として稼働してカサンドラにクエリ(挿入/更新)をexcutingた後、私は、カサンドラをドッキングウィンドウに新しいです死にます。私は奇妙な問題に直面していますうまく 、私はこの問題をデバッグすることができる方法として、任意のヘルプは素晴らしいことです。私は、私は1つは、カサンドラサービスをホストしている二つの容器を持ってドッカーコンテナAは、別のドッキングウィンドウサービスB

Cassandra 3.3.0, 
native Cassandra-driver for python- 3.3.0 
Docker 1.11.1 

は、コンテナAを言うと、他のコンテナから、私はカサンドラコンテナにINSERTクエリを実行していますBを言う使用しています。ここでB一度 はちょうど私のサービスコンテナが死んで、このコンテナBの後にクエリを実行します。私は、コンテナBに見

ログ

[start] application exit with code 0, killing container 

私は、コンテナは、右の挿入後に死亡していますように、その理由何であるとして、さらにデバッグするために、他の関連するログを参照してくださいいけません。

はちょうど私が私はすべての例外をキャッチしています すなわちBaseException例外が不足しておりません確認します。私はいくつかのロガーを私の問題を追跡するために追加しましたが、コンテナでさえそれがブロックを除いて決して死ぬことはありません。

私は

を疑う何それはそうドッキングウィンドウは、メモリ内にエラーがあり、それが書き込まれます瞬間は、それが死ぬか、何か他のもの。私がもしあれば怒らラインを見るためにドッキングウィンドウコンテナなしで私のコードを実行しようとしたも

を試してみました何

。ここではドッカーなしで動作し、例外はありません。私はまた、cassandraセッションを終了することを確かめます。

お知らせください。..

答えて

1

は、私は私がコンテナを右挿入後に死亡していますように、理由が何であるかのように、さらにデバッグするために、他の関連するログを参照してくださいいけません。

これはコンテナの動作方法です。メインコマンドが終了すると、コンテナも終了して「終了」状態になります。

主コマンド(ENTRYPOINTまたはCMD)は、コンテナBがcassandraコンテナにクエリを挿入するためのコマンドです。それはそうして終了します。ここで

+0

両方の容器microservicesであり、私たちは、カサンドラとの対話を続けるために無限の方法を実行するためのモニターを開始した場合、それは死ぬべきではないか、私はここに理解するために何かを明らかに行方不明ですので、CMD以内に高可用性にする必要がありますか?ドッキングウィンドウと私の継続的な理解した上で –

+0

私はこのリンクhttp://stackoverflow.com/questions/28212380/why-docker-container-exits-immediatelyを知るようになりました。それで、私はupsertコマンドの後にコンテナBにいくつかの実行スレッドを追加する必要があるようです。これを確認して、もう一度この投稿に戻ってきます。 –

+0

@Karn_wayはい、何かが早期停止を引き起こさなければなりません。 – VonC

関連する問題