LinuCレベル3 プラットフォームスペシャリスト コンテナ技術の利用 問21
コンテナ技術の利用/コンテナの操作と管理DockerfileのLABEL命令の役割として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「コンテナ技術の利用」に対応。実際の試験問題ではありません)
- Aビルド時に使える変数を定義し、docker buildの --build-arg オプションで値を渡せるようにする
- Bイメージにkey=value形式のメタデータを付与し、docker inspectで参照できるようにする
- Cコンテナ起動時に環境変数としてセットされる値を定義し、アプリケーションが参照できるようにする
- D他のイメージからファイルをコピーするためにソースイメージを指定し、マルチステージビルドに使う
正解:B
解説
LABEL命令はイメージにkey=valueのメタデータを付与する。maintainerやversionなどの情報を記録でき、docker inspect imageコマンドで確認できる。
選択肢ごとの解説
- A誤り。ビルド時に値を渡す変数を定義するのはARG命令の役割で、LABEL命令はビルド引数の定義には使わない。
- B正しい。LABEL命令はイメージにkey=valueのペアとしてメタデータを付与する。docker inspectで参照できるため、バージョンや管理者情報などをイメージに埋め込む用途に使う
- C誤り。コンテナ起動時に環境変数としてセットされる値を定義するのはENV命令の役割で、LABELは環境変数には影響しない。
- D誤り。マルチステージビルドで別ステージのイメージを参照するのはFROM ... AS命令やCOPY --from=の役割で、LABEL命令はステージ間のファイルコピーとは無関係。