Sambaを使用するDockerコンテナはメッセージなしで終了します。

Sambaを使用するDockerコンテナはメッセージなしで終了します。

ホストの変更と分離するために、Dockerコンテナに複数のサービスを持つCentOSを実行しているサーバーがあります。

先週の金曜日にCentOSを更新した後、サービスの1つが起動し、すぐに終了しました。他の15以上のサービスは大丈夫です。

コンテナ設定を複製してコンテナ名を変更した後、同じ問題を再構築しました。コンテナが起動され、メッセージなしで終了します。

コンテナは次から派生します。David Personetteのサンバコンテナ。これで終了しますが、使用されない実際のコマンドは次のとおりです。

exec ionice -c 3 smbd -FS

Dockerをダウングレードする必要がありますか?副作用がありますか?もう一度動作させる他の方法はありますか?我々は、オペレーティングシステムを抽象化するためにコンテナを選択しました。この抽象化は想像ほど良くないですか?

答え1

デバッグレベルを上げないと、コンテナはコメントなしで終了します。このようなものを使用できます--debuglevel=4

これを完了した後にコンテナを再構築して再起動すると、最後に次のような結果が表示されます。

Server exit (EOF on stdin)

これは解決策を指し、smbd呼び出しを次に変更します。

exec ionice -c 3 smbd -FS < /dev/null

そしてコンテナはもはや直接終了してはいけません。

以前のバージョンと互換性のない変更の原因が何であるか、または既存のdockerhubエントリに対してテストされていない理由がわからない。

1.11にアップグレードすると、2つのコンテナが壊れました。 1.10.3にダウングレード中に重大なCannot stop container .... Container does not exist: container destroyedエラーが発生しました。 Dockerを停止してすべての履歴を消去する必要があるため、あまりお勧めできません。

関連情報