クラウドとコンテナの基礎

Dockerで、コンテナが書いたデータを残すための名前付きボリュームとバインドマウントの説明として、正しいものはどれか。

  1. AボリュームはDockerが管理する領域に、バインドマウントはホストの指定したディレクトリに置かれ、どちらもコンテナを削除しても残る
  2. B名前付きボリュームのデータはコンテナを削除しても残るが、バインドマウントのデータは、コンテナを削除するとホストのディレクトリからも一緒に消える
  3. Cどちらもコンテナの書き込み可能な層の一部として作られるので、docker rm でコンテナを削除すると、データも一緒に消える
答えと解説を見る

正解:A. ボリュームはDockerが管理する領域に、バインドマウントはホストの指定したディレクトリに置かれ、どちらもコンテナを削除しても残る

コンテナの書き込み可能な層に書いたデータは、コンテナを削除すると一緒に消えるので、残したいデータはコンテナの外に置きます。名前付きボリュームは、Dockerが管理する領域に作られ、docker volume rm などで明示的に消すまで残ります。バインドマウントは、ホストの任意のディレクトリをコンテナの中に見せる方法で、データはホストのファイルとしてそのまま残ります。ホストで編集したソースコードをすぐに反映させたい開発の場面ではバインドマウントが、データベースのデータのように管理をDockerに任せたいものにはボリュームが、よく使われます。

  • A. 正しい。置き場所は違いますが、どちらもコンテナの外にあるので残ります。
  • B. バインドマウントのデータはホストのディレクトリにあるファイルそのものなので、コンテナを削除しても消えません。
  • C. どちらもコンテナの書き込み可能な層の外にあるので、コンテナを削除しても残ります。
この分野を解く 分野ページへ

クラウドとコンテナの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

クラウドとコンテナの基礎のほかの問題

  1. イメージを registry.example.com/team/web:1.4 と指定して取得(pull)する。この指定の各部分の意味の組み合わせとして、正しいものはどれか。
  2. scratch は、ファイルを何も含まない空のイメージである。上のマルチステージビルドのDockerfileで作った最終のイメージに含まれるものとして、正しいものはどれか。
  3. Kubernetesで、デプロイして管理する最小の単位であり、1つ以上のコンテナをまとめて、同じIPアドレスやボリュームを共有させるものはどれか。
  4. Kubernetesで、replicas: 3 を指定したDeploymentのPodが3つ動いている。このうち1つのPodを kubectl delete pod で削除したときに起きることとして、正しいものはどれか。
  5. KubernetesのDeploymentで、Podのテンプレートのコンテナイメージを新しい版に変更した。既定の更新方式(RollingUpdate)で起きることとして、正しいものはどれか。