Day1:Dockerの全体理解と導入
Dockerとは何か(まず最初に押さえるべき核心)
Dockerは一言でいうと 「アプリを入れ物(コンテナ)に詰めて、どこでも同じように動かせる仕組み」。
例え話:アプリを“お弁当箱”に入れるイメージ
アプリを動かすには、OS・ライブラリ・設定など色々必要です。
これをそのままPCに入れると、環境が違うだけで動かないことがよくあります。
そこでDockerは、
アプリに必要なものを全部まとめて“お弁当箱(コンテナ)”に詰めて配る
という考え方を採用しています。
- どのPCでも同じお弁当箱を開けば同じ料理(アプリ)が出てくる
- 「環境が違うから動かない」という問題が激減する
- 配布も簡単で、壊れにくい
これがDockerが世界中で使われている理由です。
コンテナとイメージの違い(ここは超重要)
コンテナとは
実際に動いているアプリの“箱”。
あなたが触るのは基本的にこのコンテナ。
イメージとは
コンテナを作るための“設計図”。
イメージからコンテナが生まれる。
例え話:カップラーメンで理解する
- イメージ=カップラーメンの容器(お湯を入れる前)
- コンテナ=お湯を入れて完成したラーメン
イメージ(設計図)を元に、コンテナ(実行環境)が作られる。
Docker Desktop のインストール(初心者がつまずきやすいポイントも解説)
Dockerを使うには Docker Desktop を入れる必要があります。
これは「Dockerを動かすためのアプリ本体」です。
インストール時に注意するポイント
Windowsの場合
- WSL2(Linuxを動かす仕組み)が必要
- 途中で「WSL2を有効にしますか?」と聞かれたら Yes
- 再起動が必要になることが多い
Macの場合
- Intel Mac と Apple Silicon(M1/M2/M3)でインストーラが違う
- 自分のMacのチップを確認してからダウンロードする
hello-world を動かしてみる(最初の成功体験)
Dockerが正しく動いているか確認するために、
次のコマンドを実行します。
docker run hello-world
このコマンドがやっていること
- hello-world というイメージをDocker Hub(公式倉庫)から取得
- そのイメージからコンテナを作成
- コンテナが「Hello from Docker!」と表示して終了
初心者が感動するポイント
- たった1行でアプリが動く
- PCの環境に依存しない
- インストール作業がほぼ不要
これはDockerの本質を体験できる瞬間です。
Day1のゴール:「Dockerとは何か」を説明できるようになる
説明できるようになるべき内容(初心者向けの言い方でOK)
Dockerとは?
アプリをどこでも同じように動かすための仕組み。
コンテナとは?
アプリが動く“箱”。
必要なものが全部入っている。
イメージとは?
コンテナを作るための設計図。
なぜ便利?
- 環境の違いで動かない問題が減る
- 配布が簡単
- 再現性が高い(誰が動かしても同じ結果になる)
さらに深掘り:なぜ「環境の違いで動かない」が起きるのか
プログラミング初心者が最初にぶつかる壁がこれ。
例:Pythonアプリが動かないケース
- AさんのPC:Python 3.10
- BさんのPC:Python 3.12
- ライブラリのバージョンも違う
- OSも違う(Windows / Mac / Linux)
この状態でアプリを渡すと、
「動かないんだけど?」
という地獄が始まる。
Dockerはこれを コンテナの中に全部閉じ込める ことで解決する。
Day1のまとめ
- Dockerはアプリを“箱”に入れて配る技術
- コンテナ=動く箱、イメージ=設計図
- Docker Desktopを入れれば誰でも使える
- hello-worldで動作確認できる
- 「環境が違うから動かない問題」を根本から解決する
