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

イメージ一覧

詳細トピック