ストリーミング寺子屋

音声・動画のストリーミング機能を
開発するエンジニアのための
実践的なナレッジベース

【開発環境ほか 1-5】Dockerコンテナで実行しているアプリが落ちます。確認するポイントを教えて下さい。

Dockerコンテナで実行しているアプリが落ちる場合、メモリリークが疑がわれます。
gdbなどのデバッガーを使い、Linux上のDockerコンテナで実行しているアプリのデバッグを行うことが可能です。

gdbを使ったデバッグ例

Host OSがLinuxの場合、LinuxのDockerコンテナ上で起動したプロセスは、HostOS上の1つのプロセスとして見えます。Host OS上でプロセスを確認すると、Docker fileの命令コードCMDに記載したプログラムが確認できます。
下図は、当社プロトコルスタック(ミドルウェア製品)Ze-PRO IPcamを実行するDockerコンテナイメージをビルドするためのDocker fileです。

このDockerコンテナを実行後、Host OS上で下記のコマンドを実行するとDocker fileに記載したコマンドが確認できます(組込み機器等をroot権限でデバッグしている場合を想定した例です)。

プロセス番号2892が特定できたので、ここからはHost OS上のアプリと同じようにgdbでアタッチし、プログラムの実行行数を特定して行きます。

Q&A

製品情報