Docker 1.12では新たにコンテナのヘルスチェック機能が実装されており、コンテナやコンテナ内のサービスが正しく動作しているかをDockerだけで監視することができる。現時点では用途が限られているものの、同じくDocker 1.12で導入されたSwarmモードではこれを使ってサービスの再起動が可能だ。本記事ではこの監視機能について紹介する。 Docker 1.12に実装されたヘルスチェック機能概要 Docker 1.12で実装されたヘルスチェック機能は、一定間隔で指定されたコマンドを実行し、その終了コードが1だった場合が一定回数継続したらコンテナに問題が発生したと判断するものだ(図1)。 図1 Dockerのヘルスチェック機能概要 ヘルスチェック機能を利用するよう設定したコンテナでは健康状態(health)というステータスが設定され、問題が発生したコンテナは「unhealthy」、問題