機械学習モデルの開発や運用で使われるDockerなどのコンテナ技術に関する説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:Dockerとコンテナの特徴
ポイント
コンテナはホストOSのカーネルを共有するため軽量です。実行環境をイメージにまとめることで、開発と本番で同じ環境を再現できます。
選択肢ごとの解説
- A
適切 正解
仮想マシンは、カーネルを含むOS全体をそれぞれ動かすため、資源の消費が大きくなります。コンテナはホストOSのカーネルを共有し、アプリケーションと必要なライブラリだけをまとめるので、軽く素早く起動できます。
- B
不適切
独自のカーネルを含むOS全体を動かすのは仮想マシンのほうです。コンテナはカーネルを共有するため軽い反面、OSごと分ける仮想マシンのほうが、一般には隔離の度合いが高いとされます。
- C
不適切
イメージはライブラリの版や設定を含む実行環境をまとめたもので、レジストリなどを通じて別のマシンに配布できます。Dockerが動くマシンなら同じ構成のコンテナを起動できるため、開発では動いたのに本番では動かない、という差を減らせます。
- D
不適切
Dockerの役割は、アプリケーションと実行環境をコンテナとしてまとめて動かすことです。学習データやモデルの版の管理は、MLOpsではDockerとは別の版管理の仕組みで行います。
試験での狙われ方
仮想マシンとの違い(カーネルを共有するか、OSごと動かすか)や、実行環境を別のマシンで再現できるという利点の形で問われやすい論点です。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目35 AIプロジェクトの進め方)
- Docker Docs, What is a container?