01
第 1 章

はじめに:本書のスコープと
Docker Desktopについて

この章で学ぶこと
1扱う範囲と到達状態
2コンテナの基本的な仕組み
3仮想マシンとの違いとカーネル共有
4Docker 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
ライセンス