💡 Tips

Docker入門|開発環境構築の基本と最初に覚えるコマンド

「自分のPCでは動くのに、他の人の環境では動かない」——開発でよくあるこの問題を解決するのが Docker だ。この記事では、Docker を使った開発環境構築の基本を入門者向けに整理する。結論を先に言うと、Docker は環境ごと持ち運べる箱で、これを使うとチーム全員が同じ環境で開発できる。

なぜ環境構築が楽になるのか

Docker は、アプリと、その動作に必要な環境(OS・ライブラリ・設定)をコンテナという箱にまとめる。この箱はどのマシンでも同じように動くので、「自分の環境では動く問題」が消える。

新メンバーが入っても、Docker さえあれば数コマンドで全員と同じ環境が立ち上がる。これが最大のメリットだ。

イメージとコンテナの違い

最初に混乱しやすいのがこの2つ。

  • イメージ: 環境の「設計図・テンプレート」(不変)
  • コンテナ: イメージから起動した「実行中の箱」(使い捨て可能)

イメージから何個でもコンテナを作れる、という関係だ。

最初に覚えるコマンド

# イメージを取得して起動
docker run -d -p 8080:80 nginx

# 動いているコンテナ一覧
docker ps

# コンテナを止める
docker stop <コンテナID>

# イメージ一覧
docker images

まずはこの4つで「起動して、確認して、止める」流れを掴めば十分だ。

docker-compose で複数まとめる

実際の開発では、アプリ+データベース+キャッシュ…と複数のコンテナを使うことが多い。それらをまとめて管理するのが docker-compose だ。

# docker-compose.yml の例
services:
  app:
    build: .
    ports:
      - "3000:3000"
  db:
    image: postgres:16
docker compose up -d   # まとめて起動

設定をファイルに書いておけば、up 一発で開発環境一式が立ち上がる。

つまずきどころ

  • ポートの衝突: ホスト側のポートが既に使われていると起動に失敗する
  • ボリューム(データ永続化): コンテナを消すとデータも消える。残したいデータはボリュームを使う
  • イメージの肥大化: 不要なものを入れすぎない。軽量ベースイメージを選ぶ
📚 おすすめ書籍

Docker実践ガイド

コンテナを使った開発環境構築・本番運用の定番書

Amazonで見る →

まとめ

  • Docker は環境ごと持ち運べる箱。「自分の環境では動く問題」を解決
  • イメージ=設計図、コンテナ=実行中の箱
  • まずは run / ps / stop / images を覚える
  • 複数コンテナは docker compose でまとめて管理する