ClockRoom

Dockerについて調べて動かして完全に理解したディスク容量の節約術 | 運営ノート

Dockerについて調べて動かして完全に理解したディスク容量の節約術

なにかと役に立つだろうDockerのテンプレートを作ってわかったこと ────

[画像] Docker レイヤ共有 (1)

  • イメージは複数の「レイヤ」で構成される
  • レイヤはDockerfileの各コマンドに対応する
  • Dockerfileは上から順番に解釈される
  • 各コマンドの実行結果をレイヤとして積み上げる
  • 内容が同じ2つのDockerfileでビルドした2つのイメージはレイヤを共有するため消費容量は1つ分のみ

[画像] Docker レイヤ共有 (2)

  • 上位レイヤを変更するとレイヤが分離するため容量を消費する
  • 下位レイヤは未変更なので変わらず共有される

[画像] Docker レイヤ共有 (3)

  • Dockerfileの一番下にコマンドを追加すると新規レイヤを積み上げるため容量を消費する
  • 下位レイヤは未変更なので変わらず共有される

[画像] Docker レイヤ共有 (4)

  • 各レイヤは直下のレイヤに強く依存する
  • 下位レイヤを変更するとレイヤが分離するため容量を消費する
  • 下位レイヤが分離すると依存関係が崩れるため上位レイヤも分離して容量を消費する

[画像] Docker レイヤ共有 (5)

  • コマンドの順番を入れ替えただけでも依存関係が崩れるため容量を消費する

[画像] Macintosh HDの構造

そして、スレチだから触れないけど「OverlayFS」や「コンテナ」などの用語を知ると、あら不思議 ──── APFSの登場から長らく不可解だったmacOSのディスク構造を完全に理解した!

コメント

名前
内容
送信

※URLを含むコメントはできません。