ホーム › エンジニアコラム › Docker入門 開発環境を効率化する技術
INFRA COLUMN

Docker入門 開発環境を効率化する技術

「自分のPCでは動くのに本番では動かない」——この定番トラブルを解決するのが Docker です。環境ごとパッケージ化して持ち運べるコンテナ技術の基礎を、専門用語をかみ砕いて解説します。

📅 2026-07-18✍ progo編集部

Dockerとは

Docker は、アプリケーションと必要な環境(OSライブラリ、ミドルウェア、設定)を「コンテナ」という単位でまとめ、どこでも同じように動かせるようにする技術です。仮想マシンより軽量で起動が速く、開発から本番まで環境差をなくせるのが最大の利点です。

3つの基本用語

イメージ (Image)

コンテナの「設計図」。アプリと環境一式をまとめた読み取り専用のテンプレートです。

コンテナ (Container)

イメージを元に起動した実体。1つのイメージから複数のコンテナを立ち上げられます。

Dockerfile

イメージの作り方を記述したテキストファイル。手順をコード化するので、誰が実行しても同じ環境が再現できます。

まず動かしてみる

Docker をインストールしたら、動作確認は次の1行で完了します。

docker run hello-world

これは hello-world イメージを自動ダウンロードし、コンテナとして実行して挨拶を表示するだけの最小サンプルです。

よく使うコマンド

docker images           # 手元のイメージ一覧
docker ps               # 起動中のコンテナ一覧
docker ps -a            # 停止中も含めた一覧
docker run -d nginx     # バックグラウンドで起動
docker stop <ID>        # コンテナを停止
docker rm <ID>          # コンテナを削除

Dockerfileの例

Node.js アプリを動かす最小構成の例です。

FROM node:20
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "index.js"]

このファイルを元に docker build -t myapp . でイメージを作り、docker run myapp で実行します。

docker-composeで複数サービスをまとめる

Webサーバーとデータベースなど、複数のコンテナを連携させる場合は docker-compose.yml にまとめて docker compose up の一発で立ち上げられます。マイクロサービス開発で威力を発揮します。

まとめ

Docker を使えば「環境構築で半日つぶれる」問題から解放され、チーム全員が同じ環境で開発できます。まずは hello-world と簡単な Dockerfile から始めて、コンテナの感覚をつかんでみましょう。