Dockerは【Dress-up Doll(着せ替え人形)】だ!


はじめに

従来の考え方

  • Dockerとは
    • 検索したら説明記事はすぐに見つかる
    • しかし、だいたい仮想化基盤(VMwareなど)との比較
  • 分かること
    • 従来の仮想化より優れた点
      • Dockerはコンテナ
      • 仮想化よりスピードが速い
      • 複数OSがないから仮想化より軽い とか
  • よくなかったこと
    • いくら読んでも理解が進まない
      • 結局Dockerって何?
    • 間違った理解
      • Docker仮想化の進化系
      • 無意識に刷り込まれた

新しい考え方

  • 気づいたこと
    • 従来の仮想化をベースにDockerを理解しようとするべきではない
    • 仮想化自体も理解できているか分からない
      • 余計に分からなくなる
      • 時間がかかる
  • ドレスアップドール
    • 新しいイメージ
    • Dress-up Doll=着せ替え人形
      • Dockerを触っているとこの言葉がピッタリ
      • 以降で理由を説明します

Dockerを着せ替え人形に例えるまでの道のり

OS上に構成されるOS

  • DockerはLinux上で動作する
  • Docker環境にLinuxを構築できる
    • OS上にOSが構成されている(ように見える)

Dockerの担当

  • OSの機能は2つある
  • Dockerの担当
    • 見える部分
    • 見えない部分はバックエンドのOSが担う
  • バックエンドのOS
    • 共用する、みんなで使う
    • Docker以外のアプリやサービスも起動している

つまり

  • カーネルは1つ
    • 体は1つ
  • ディストリビューションは色々選べる
    • 服を着替える
  • 補足
    • Dockerで色々な環境を作れるが、性能は本体の性能による
    • DockerイメージをDockerが動作する別のサーバに持っていくとそのサーバの性能で動作する
    • もちろんDockerが動作するOSにディストリビューションがインストールされている

例え話

Docker HUB

  • 役割
    • 色々なDockerイメージがある
    • 提供元は様々
    • 無料、有料
    • 作成したイメージも置ける
  • 利用方法
    • 構築する環境のベースイメージ入手
      • docker pull
      • docker build
        (DockerファイルのFROMコマンド)
  • ショッピングモール
    • 色々なお店
    • 自分のお店
    • 新しい服を買ってくる

Dockerイメージ

  • 機能
    • 構築した環境をイメージとしてまとめる
    • 色々な環境に持っていける
  • 利用方法
    • ベースイメージを利用してカスタマイズ
    • 必要なアプリを追加
    • 必要な環境が整うまで何度も作り直し
    • ショップで買った服を自分好みにアレンジ
    • 気に入るまで着せ替え
    • 場所や人に合った服がある

Dockerコンテナ

  • 機能
    • イメージの実体化
      • Dockerが動作するOSとイメージとして作った環境をつなぐ
    • イメージにプログラムされた機能を実行する
    • 実行する環境(バックグラウンド)により発揮する性能が異なる
  • 利用方法
    • イメージを選択してコンテナ実行
      • 一瞬で環境が出来上がる
    • 利用が終わったものは停止
  • ファッションショー
    • 色々な服に着替えて舞台へ(服に命が吹き込まれる)
    • いろんなモデルがいる(趣味で楽しむ人、本格的なアスリート)
    • みんなが見てる


Posted by futa