「自分のPCでは動くのに、本番サーバでは動かない」——この定番のつまずきを無くす道具が コンテナ、そしてそれを扱う代表的な仕組みが Docker です。
初級の解説は準備中のため、初級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
コンテナは、アプリ本体と、それが動くのに必要な環境(※1 ライブラリなどの部品)を、まとめて1つの箱に詰める仕組みです。
引っ越しにたとえると、家具を1つずつ運ぶのではなく、中身ごと箱に詰めて そのまま運ぶイメージ。箱の中は行き先が変わっても同じなので、どこでも同じように動きます。
Docker はこの箱を作ったり動かしたりするための、いちばん有名な道具です。
登場人物メモ:
- ※1 環境 — アプリが動くのに必要な部品一式(ライブラリ・設定など)
- ※2 カーネル — OSの中核。ハードウェアとのやり取りを担う土台の部分
仕事の流れ
- アプリと必要な環境を箱に詰める(設計図を書く)
- 箱をそのまま別の場所へ運ぶ(開発PC → 本番サーバなど)
- どこでも同じ状態で起動する
- 要らなくなったら箱ごと捨てる(後片付けが簡単)
VMとの違い
同じ「隔離して動かす」でも、仮想マシン(VM) はゲストOSを丸ごと積むため重くなります。コンテナは OSの中核(※2 カーネル)を土台と共有し、上にアプリと必要な部品だけを載せるので、軽くて起動も速いのが特長です。
アニメーション『VMとコンテナの違い』を開く
⚠️ うまくいかないとき
- 箱に入れ忘れ — 必要な部品を詰め忘れると、別の場所で動かない
- データが消える — 箱を捨てると中のデータも消える(保存先は別に分ける必要がある)
- 軽い=万能ではない — カーネルを共有するため、土台と大きく違う環境向けには不向きなこともある
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. コンテナを一言でいうと?
問2. コンテナが仮想マシン(VM)より軽くて速いのはなぜ?
問3. コンテナが「箱に詰める」ものとして正しいのは?
問4. 文中の「Docker」の説明として最も近いのは?
問5. コンテナ(箱)を捨てるとき、気をつけるべきことは?
問6. 「コンテナは軽いけれど万能ではない」と言えるのはなぜ?
問7. OSの中核で、ハードウェアとのやり取りを担う土台の部分を何と呼ぶか、カタカナで答えてください。コンテナはこれをホストと共有する。
問8. コンテナと違ってゲストOSを丸ごと積むため重くなる、もう一つの「隔離して動かす」やり方を何と呼ぶか。英字2文字でも可。