先に要点
- Docker イメージ は、コンテナ を作る元になるテンプレートです。
- コンテナは、そのイメージから実際に起動した実体です。
- `docker pull` はイメージを取得する操作で、`docker run` で初めてコンテナとして動きます。
- Dockerfile はイメージの作り方を書くファイルなので、`Dockerfile = コンテナ本体` ではありません。
Docker を触り始めると、イメージ コンテナ Dockerfile が一気に出てきて、ここで頭がこんがらがりやすいです。
特に pull したのにまだ動いていないの? みたいなところは、初心者がかなりつまずきやすいです。
この記事では、2026年4月14日時点で Docker Docs の What is an image? What is a container? What is Docker? を確認しながら、Docker イメージ とは何か、コンテナ とどう違うのかを初心者向けに整理します。
Docker 全体の話から見たいなら、Dockerとは?コンテナで何がうれしい?初心者向けに仕組み・メリット・使いどころを解説 から入ると流れがつかみやすいです。
Dockerイメージとは何か
Docker イメージ は、コンテナを作る元になるテンプレートです。
Docker Docs では、イメージはコンテナを実行するために必要なファイル、ライブラリ、設定を含む標準化パッケージとして説明されています。
初心者向けにかなりざっくり言うと、実行環境の完成前パック と考えると分かりやすいです。
アプリを動かすのに必要なランタイムや依存関係を、持ち運びしやすい形でまとめたものです。
たとえば、
node:22-alpinemysql:8.4nginx:stable
のようなイメージは、必要な実行環境をすでに含んでいます。
そこに自分のアプリや設定を追加して使うことが多いです。
コンテナとの違い
ここがいちばん大事です。
料理でたとえると、
に近いです。
Docker Docs でも、コンテナは a runnable instance of an image と説明されています。
つまり、イメージだけではまだ動いておらず、起動して初めてコンテナになります。
pull と run は何が違うのか
ここも混ざりやすいです。
docker pull
docker pull は、イメージをローカルへ取得する操作です。
まだ起動はしていません。
docker run
docker run は、イメージからコンテナを作って起動する操作です。
イメージがローカルに無ければ、先に pull もしてくれます。
要するに、
- pull: ひな型を持ってくる
- run: ひな型から実際に動かす
です。
Dockerfile はどこに入るのか
Dockerfile は、イメージの作り方を書くファイルです。
つまり、
- Dockerfile: 作り方
- イメージ: 作られた成果物
- コンテナ: その成果物を起動した実体
という関係です。
この3つを分けて理解すると、Docker の話がかなり楽になります。
特に、Dockerfile を書いた = もう動いている ではない、という点は最初に押さえておくと混乱しにくいです。
実務でどう使われるのか
開発環境をそろえる
チーム開発では、全員が同じイメージを使うことで環境差を減らしやすくなります。
自分のPCだけ動かない を減らせるのはかなり大きいです。
CIで同じ条件を再現する
CI でも、同じイメージを使えば、毎回近い条件でビルドやテストをしやすいです。
手元とCIのズレを減らしやすくなります。
本番配布の単位にする
小規模構成から中規模構成では、イメージをビルドして配る流れがよくあります。
このとき、何を含めたイメージなのかをちゃんと管理することがかなり大事です。
Laravel や Node.js の案件では、アプリ用イメージをビルドして、ローカル・検証・本番で同じベースを使うことがあります。完全に同じ条件になるわけではありませんが、少なくともランタイムや依存関係の差を減らしやすいので、障害切り分けがかなり楽になります。
イメージで見るべきポイント
ベースが何か
どのイメージを土台にしているかはかなり重要です。
古いバージョンや重すぎるベースだと、セキュリティやビルド時間の面で不利になりやすいです。
サイズが大きすぎないか
イメージが大きいと、pull に時間がかかりやすく、CI やデプロイも重くなりやすいです。
最初から極端に削りすぎる必要はありませんが、不要なものを詰め込みすぎない方が扱いやすいです。
書き換える前提でなく、作り直す前提で考える
Docker Docs でも、イメージは immutable と説明されています。
そのため、動いたコンテナの中で手で直して終わり、ではなく、再現したい変更は Dockerfile 側へ戻す方が実務では大事です。
初心者がよく誤解する点
イメージを pull したらもう動いている
まだ動いていません。
イメージは材料がそろった状態で、実際に動くのはコンテナです。
コンテナで変更したらイメージも変わる
基本的にはそのまま元イメージへ戻りません。
再現性を持たせたいなら、Dockerfile やビルド手順に戻して管理した方がよいです。
イメージと Dockerfile は同じもの
違います。
Dockerfile は作り方、イメージはその結果です。
まとめ
Docker イメージ は、コンテナ を作る元になるテンプレートです。
コンテナは、そのイメージから実際に起動した実体です。
最初は、イメージはひな型、コンテナは動いている本体 と覚えるだけでもかなり整理しやすくなります。
そこに Dockerfile が 作り方 として入る、と分かると、Docker まわりの用語がかなりつながってきます。
続けて読むなら、Dockerfileとは?何を書くもの?最初に読むべき命令を初心者向けに整理 や Docker Composeとは?複数コンテナをまとめて動かす基本を初心者向けに解説 もかなり相性がいいです。
参考リンク
- Docker Docs: What is an image?
- Docker Docs: What is a container?
- Docker Docs: What is Docker?