01
第 1 章
はじめに:本書のスコープと
Docker Desktopについて
この章で学ぶこと
1
扱う範囲と到達状態
2
コンテナの基本的な仕組み
3
仮想マシンとの違いとカーネル共有
4
Docker Desktopの役割と無料利用条件
解説
扱う範囲と対象OS
Dockerfileとcompose.ymlがある程度読める
配布された定義ファイルの内容を大まかに理解できる
Dockerコマンドを実行して動かせる
コンテナの起動・停止・ログ確認などの基本操作ができる
対応OS
Mac(Apple Silicon含む)とWindows(Docker Desktop / WSL2)
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
解説
到達状態
定義ファイルの読解
DockerfileとCompose.ymlを見て大まかに内容を理解できる
dockerコマンドの実行
run / ps / logs / exec / stop / start / rmを理解して使える
docker composeの実行
up / down / ps / logs / exec / config / buildを理解して使える
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
解説
コンテナの基本構造
コンテナ
アプリ本体+実行環境+ライブラリ一式を1つにまとめてLinux上で動かしたもの
パッケージング
ランタイム・ライブラリ・OSの最小構成ファイル群をひとまとめにする
独立した実行環境
コンテナの中だけで完結した環境でアプリケーションが動く
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
図解
VMとコンテナの違い
仮想マシンはOS丸ごと仮想化、コンテナはホストのLinuxカーネルを共有
コンテナはカーネルを共有するぶん起動が速くディスク使用量も小さい
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
解説
カーネル共有の仕組み
カーネルはホストの1つを共有
すべてのコンテナがホストのLinuxカーネルを使う
OS最小構成はコンテナごとに別々
コマンド類や標準ライブラリなどのファイル群は各コンテナ内に持つ
土台はLinuxカーネル
コンテナの中身はLinux上で動くことを前提に作られている
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
解説
Docker Desktopの役割
MacやWindowsにはLinuxカーネルがない
そのままではコンテナを動かせない
Docker Desktop
ホストOS内にLinux仮想マシンを用意しその上でコンテナを動かすソフトウェア
インストールは1つだけ
Docker Desktopを入れるだけでMacでもWindowsでもコンテナが使える
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
補足
無料で使える条件
個人利用・教育・非商用OSS
仕事以外の用途であれば無料で利用できる
小規模事業者
従業員250名未満かつ年商1,000万ドル未満の会社の業務利用も無料
それ以外は有料
大企業や政府機関での業務利用はPro / Team / Businessプランが必要
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス
まとめ
この章のまとめ
✓
コンテナはアプリ+実行環境+ライブラリを1つにまとめてLinux上で動かす仕組みである
✓
仮想マシンと異なり、コンテナはホストのLinuxカーネルを共有するため起動が速い
✓
Docker DesktopはMac・Windows上にLinux仮想マシンを作りコンテナを動かす
✓
個人利用・教育・小規模事業者であればDocker Desktopは無料で使える
次章: インストールと初回起動
スコープとゴール
コンテナの基本
Docker Desktop
ライセンス