You are currently viewing DockerでPythonアプリを動かしたらExit Code 137エラーで落ちた

DockerでPythonアプリを動かしたらExit Code 137エラーで落ちた

先日ざっくり試した「GPT-2」モデルの利用アプリを作っていて、FlaskでWebアプリ化して公開しようとしています。
ローカル環境で試したところ、リクエストを発行して暫く経つと「Exit Code 137」が表示されコンテナが落ちてしまいました

原因(仮説)

Pythonアプリに利用しているエースイメージは「python:3.9」というイメージです。

ググると「Dockerのメモリ割り当てを増やして解決」という記事が多く見つかりました。
おそらく自分の場合も、Dockerのメモリ割り当てが足りないのだろうと踏んで対策を行いました。

メモリ不足であると踏んだ理由は「機械学習アプリはメモリを食うから」という単純な理由です。

割当メモリを増やす(Mac + Docker Desktop)

Docker Decktopの設定画面から、Resources > Memoryの項目の値を増やすだけです
今回は8GB > 12GBに変更しました。

メモリ割り当て後は時間はかかりつつも、きちんと結果が帰ってくるようになりました。

メモリ不足以外のExit Code 137の問題

メモリ不足以外では、以下の事例もあるとのこと
https://tech-mmmm.blogspot.com/2021/03/dockerexit-137.html
https://qiita.com/hyamatan/items/0b7df8927ddbab603104
メモリ不足だけでなく、いろいろな可能性から原因を探る必要がありそうです。

以上

Docker ContainerでError Code 137が表示されコンテナが落ちるお話でした。
Dockerコンテナの場合、機能が最低限に絞られているためエラーの確認がやりにくい(ログ出力が行われていなかったり)するので、このあたりの調査ノウハウも身につけないとですね・・・

コメントを残す