Docker
コンテナ技術のデファクトスタンダード
Dockerはアプリケーションをコンテナとしてパッケージ化・実行するプラットフォームです。 Linuxのnamespace、cgroups、Union FSを活用し、軽量で高速な仮想化を実現します。
Dockerアーキテクチャ概要
docker CLI / Docker API
↓
Docker Engine (dockerd)
↓
containerd
↓
runc
↓
Linux Kernel (namespace, cgroups)
VM vs コンテナ
仮想マシン
- • ハイパーバイザーでハードウェア仮想化
- • 各VMに完全なOS
- • 起動: 分単位
- • サイズ: GB単位
- • 完全な分離
コンテナ
- • カーネルを共有
- • アプリと依存関係のみ
- • 起動: 秒単位
- • サイズ: MB単位
- • プロセスレベルの分離
基本コマンド
docker runコンテナを作成・実行
docker buildイメージをビルド
docker ps実行中コンテナ一覧
docker imagesイメージ一覧