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つある
- 見える部分 …… ディストリビューション
- 見えない部分 …… カーネル
- 参考
- Linuxカーネルについての説明記事
- Linuxのカーネル、ディストリビューションって何?
- Dockerの担当
- 見える部分
- 見えない部分はバックエンドのOSが担う
- バックエンドのOS
- 共用する、みんなで使う
- Docker以外のアプリやサービスも起動している
つまり
- カーネルは1つ
- 体は1つ
- ディストリビューションは色々選べる
- 服を着替える
- 補足
- Dockerで色々な環境を作れるが、性能は本体の性能による
- DockerイメージをDockerが動作する別のサーバに持っていくとそのサーバの性能で動作する
- もちろんDockerが動作するOSにディストリビューションがインストールされている
例え話
Docker HUB
- 役割
- 色々なDockerイメージがある
- 提供元は様々
- 無料、有料
- 作成したイメージも置ける
- 利用方法
- 構築する環境のベースイメージ入手
- docker pull
- docker build
(DockerファイルのFROMコマンド)
- 構築する環境のベースイメージ入手
- ショッピングモール
- 色々なお店
- 自分のお店
- 新しい服を買ってくる
Dockerイメージ
- 機能
- 構築した環境をイメージとしてまとめる
- 色々な環境に持っていける
- 利用方法
- ベースイメージを利用してカスタマイズ
- 必要なアプリを追加
- 必要な環境が整うまで何度も作り直し
- 服
- ショップで買った服を自分好みにアレンジ
- 気に入るまで着せ替え
- 場所や人に合った服がある
Dockerコンテナ
- 機能
- イメージの実体化
- Dockerが動作するOSとイメージとして作った環境をつなぐ
- イメージにプログラムされた機能を実行する
- 実行する環境(バックグラウンド)により発揮する性能が異なる
- イメージの実体化
- 利用方法
- イメージを選択してコンテナ実行
- 一瞬で環境が出来上がる
- 利用が終わったものは停止
- イメージを選択してコンテナ実行
- ファッションショー
- 色々な服に着替えて舞台へ(服に命が吹き込まれる)
- いろんなモデルがいる(趣味で楽しむ人、本格的なアスリート)
- みんなが見てる
