オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問5
コンテナ技術の利用/コンテナの操作と管理Dockerfileの HEALTHCHECK 命令の役割として適切なものはどれか。
出典:オリジナル問題 LinuCレベル3 プラットフォームスペシャリスト試験 問題 問5
- Aイメージのビルド時にのみ実行される、依存パッケージのインストールコマンドを定義する
- Bコンテナ起動時に実行するメインプロセスを定義する
- Cコンテナが使用できる最大メモリ量を定義する
- Dコンテナが正常に動作しているかを定期的に確認するためのコマンドを定義し、コンテナの状態(healthy/unhealthy等)として反映させる
正解:D
解説
DockerfileのHEALTHCHECK命令は、コンテナが正常に稼働しているかどうかを定期的にチェックするためのコマンドを指定します。実行結果に応じて、コンテナの状態がhealthy(正常)・unhealthy(異常)・starting(開始中)として管理され、docker psやdocker inspect等で確認できるようになります。
選択肢ごとの解説
- A誤り。ビルド時に実行される依存パッケージのインストールはRUN命令の役割で、HEALTHCHECKの役割ではありません。
- B誤り。コンテナ起動時のメインプロセスの定義はCMDやENTRYPOINT命令の役割で、HEALTHCHECKの役割ではありません。
- C誤り。最大メモリ量の定義はdocker run実行時の--memoryオプション等の役割で、Dockerfile内のHEALTHCHECK命令の役割ではありません。
- D正しい。HEALTHCHECKは定期的な稼働確認コマンドを定義し、コンテナの状態として反映させる命令です。