Dockerを活用したローカル開発環境の構築

Dockerを活用したローカル開発環境の構築

~Dockerを使った簡単なローカル環境構築方法~

開発を進める中で、「環境構築で時間を取られる…」「ローカルと本番環境の動作が違う…」 という問題に直面したことはありませんか?
特に、チーム開発や複数のプロジェクトを並行して進める場合、開発環境を統一し、手軽に再現できる仕組み が求められます。

そんな課題を解決するのが Docker です!
Dockerを使えば、環境の構築をコード化(Infrastructure as Code)し、一瞬で開発環境を用意 できます。

本記事では、Dockerの基本概念、ローカル開発環境の構築手順、2025年の最新トレンド を解説していきます。


1. Dockerとは?

1.1 Dockerの基本概念

Dockerは、軽量な仮想環境(コンテナ)を提供するツール です。
通常、アプリケーションを動作させるには OS・ライブラリ・ミドルウェア・データベースなどを手動でインストール する必要がありますが、
Dockerを使うことで、すべてを「コンテナ」という単位で管理し、再利用可能な環境を構築 できます。


1.2 Dockerを使うメリット

環境構築の手間を削減docker-compose up するだけで環境が立ち上がる
本番環境との乖離を防ぐ → 「ローカルでは動くのに本番で動かない」問題を解決
チームメンバー間で同じ環境を再現できる → 開発環境のばらつきを防ぐ
システムを破壊せずに試行錯誤できる → OSを汚さずに環境を構築・削除可能


2. Dockerの基本操作

2.1 Dockerのインストール

まずは、Dockerをインストールします。
以下のリンクから、自分のOSに合ったDocker Desktopをダウンロードしましょう。

🔗 Docker公式サイト

インストール後、ターミナルで以下のコマンドを実行し、Dockerが正常に動作しているか確認します。

docker --version

問題なくバージョンが表示されれば、インストール完了です。


2.2 Dockerの基本コマンド

Dockerの基本的なコマンドを押さえておきましょう。

コンテナの起動

docker run -d -p 8080:80 nginx

このコマンドを実行すると、NginxのWebサーバーが起動 します。
-p 8080:80 の部分で、ローカルの8080ポートをコンテナの80ポートにマッピングしています。

コンテナ一覧を表示

docker ps

現在動作しているコンテナの一覧を表示できます。

コンテナを停止

docker stop <コンテナID>

動作中のコンテナを停止できます。

コンテナを削除

docker rm <コンテナID>

不要なコンテナを削除できます。


3. Dockerを使ったローカル開発環境の構築

3.1 「Docker Compose」を活用する

複数のコンテナをまとめて管理するには、Docker Compose を使うのが便利です。
Docker Composeを使うことで、「アプリケーション」「データベース」「キャッシュ」などの環境を一括で構築 できます。


3.2 Node.js + MySQLの開発環境をDockerで構築

ここでは、Node.js(Express) + MySQL の環境をDockerで構築する手順を紹介します。

プロジェクトディレクトリを作成

mkdir docker-node-mysql 
cd docker-node-mysql

docker-compose.yml を作成

プロジェクトのルートに docker-compose.yml を作成し、以下のように記述します。

version: '3.8'
services: app: image: node:18 container_name: node-app working_dir: /usr/src/app volumes: - .:/usr/src/app ports: - "3000:3000" command: "npm start" depends_on: - db
db: image: mysql:8 container_name: mysql-db restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test_db MYSQL_USER: user MYSQL_PASSWORD: password ports: - "3306:3306"


3.3 docker-compose up で環境を起動

作成した docker-compose.yml をもとに、環境を起動します。

docker-compose up -d

これで、
✅ Node.jsのアプリケーションが起動
✅ MySQLのデータベースが構築

となり、ローカル開発環境が即座にセットアップ されます。


4. 2025年のDocker開発環境トレンド

2025年現在、Dockerの開発環境はさらに進化しています。
ここでは、最新トレンドを取り入れた効率的な開発手法 を紹介します。


4.1 Dev Containers(VSCode拡張機能)を活用する

最近は 「Dev Containers」 を使った開発が増えています。
VSCodeの 「Remote – Containers」 拡張機能を利用すれば、
Dockerコンテナの中で VSCodeを直接開いて開発 できるようになります。

【手順】

  1. VSCodeの「Remote – Containers」拡張機能をインストール
  2. .devcontainer/devcontainer.json を作成
  3. VSCodeから「Reopen in Container」を実行

これにより、ローカル環境を汚さずに、完全な開発環境を構築 できます。


4.2 Kubernetes(K8s)との連携

大規模な開発では、DockerだけでなくKubernetes(K8s)と組み合わせて運用 するケースが増えています。
Kubernetesを導入することで、開発環境と本番環境の違いを最小限にし、スムーズなデプロイが可能 になります。

ローカル開発 → Docker Compose
本番環境 → Kubernetes(K8s)

このように、開発と本番の環境を統一する流れが加速 しています。


5. ここまでのまとめ – Dockerで開発環境を効率化しよう

Dockerを活用することで、「誰でもすぐに同じ環境を用意できる」 というメリットがあります。

Docker Composeで複数のコンテナを一括管理
VSCodeのDev Containersで快適な開発環境を実現
Kubernetesと連携し、本番環境とのギャップを減らす

Dockerを取り入れることで、よりスムーズで効率的な開発環境を構築 できます。
ぜひ、実際のプロジェクトに導入して、開発スピードを向上させましょう!

6. Docker環境をさらに最適化 – 便利なTips & ベストプラクティス

Dockerでローカル開発環境を構築できたら、次は「より快適に使うためのテクニック」 を押さえておきましょう。
Dockerは便利ですが、運用していく中で「ビルド時間が長い…」「ストレージを圧迫する…」 といった問題が発生することもあります。
ここでは、Dockerをより効率的に活用するためのTipsとベストプラクティス を紹介します。


6.1 Dockerのビルド時間を短縮する

Dockerを使っていると、docker build の処理に時間がかかることがあります。
特に、大きなプロジェクトや頻繁にビルドを行う環境では、少しの工夫で大幅に時間を短縮 できます。

マルチステージビルドを活用する

通常のDockerfileでは、不要な開発ツールや依存ファイルまで含めてしまうことがありますが、
マルチステージビルド を使うことで、最終的なイメージを軽量化できます。

開発用ステージ(ビルド処理)
FROM node:18 AS build WORKDIR /app COPY package.json package-lock.json ./ RUN npm install COPY . . RUN npm run build
本番用ステージ(軽量化)
FROM node:18 WORKDIR /app COPY --from=build /app/dist ./dist COPY --from=build /app/node_modules ./node_modules CMD ["node", "dist/index.js"]

不要なファイルを削減し、本番用のDockerイメージを軽量化
ビルド時間を短縮し、デプロイを高速化


6.2 Dockerのストレージ管理 – 容量不足を防ぐ

Dockerは便利ですが、コンテナやイメージを溜めすぎるとディスク容量を圧迫 してしまいます。
特に、長期間Dockerを使っていると、不要なデータが溜まりがち です。

不要なコンテナ・イメージ・ボリュームを一括削除

docker system prune -a

停止中のコンテナ・未使用のイメージ・ネットワーク・ボリュームを一括削除
定期的に実行することで、ディスク使用量を最適化


6.3 ローカル環境をもっと便利に!Dockerの便利ツール

Lazydocker – Docker管理をGUIで楽にする

ターミナルでのDocker管理が面倒なら、「Lazydocker」 を導入すると便利です。

brew install lazydocker # macOSの場合

このツールを使うと、Dockerのコンテナ・ネットワーク・ボリュームをリアルタイムで管理 できます。

コンテナの状態を一覧表示し、ワンクリックで操作
ログの確認や再起動が簡単にできる


7. 2025年の最新Dockerトレンド

Dockerの技術は日々進化しており、2025年時点ではさらに便利なツールや運用方法 が登場しています。
ここでは、最新のDockerトレンドを3つ 紹介します。


7.1 Dev Containers(VSCode) × Dockerで最強の開発環境

最近の開発現場では、「VSCodeのDev Containers」×「Docker」 の組み合わせが主流になっています。
これを使うことで、「ローカル環境を汚さずに、Dockerコンテナ上でVSCodeを開発環境として利用」 できるようになります。

Dev Containersのメリット

  • 開発環境をコンテナ化し、どこでも同じ環境を再現
  • プロジェクトごとに異なる依存関係を簡単に管理
  • リモート環境(AWS / GitHub Codespaces)ともシームレスに連携

設定ファイル .devcontainer/devcontainer.json の作成

{ "name": "Node.js Dev Container", "image": "mcr.microsoft.com/devcontainers/node:latest", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, "customizations": { "vscode": { "extensions": [ "dbaeumer.vscode-eslint", "esbenp.prettier-vscode" ] } } }

コンテナを起動すると、自動でESLintやPrettierがセットアップされる
ローカルのNode.js環境を汚さずに開発可能


7.2 Kubernetes(K8s)との連携が加速

Dockerをローカル開発だけでなく、本番環境でも利用する場合、「Kubernetes(K8s)」 の導入が進んでいます。

特に2025年のトレンドとして、「ローカルでDocker Compose、クラウドでK8s」 という流れが定着しつつあります。

ローカル開発 → Docker Compose

docker-compose up -d

本番環境 → Kubernetes(K8s)

kubectl apply -f deployment.yaml

開発と本番の環境を統一し、スムーズなデプロイが可能
スケーラブルなアーキテクチャを実現


7.3 Podman – 「Dockerなし」で動作するコンテナ管理ツール

2025年現在、Dockerを使わないコンテナ管理ツール「Podman」 も注目されています。
Podmanは、Dockerとほぼ同じコマンドで動作しつつ、デーモンレスで軽量なコンテナ環境 を提供します。

Podmanの主なメリット

  • Docker Daemonなしでコンテナを管理(セキュリティ向上)
  • Dockerと完全互換のコマンド(学習コストなし)
  • Red Hat系の環境でネイティブ対応
podman run -d -p 8080:80 nginx

Kubernetesとの相性も良く、今後の主流になる可能性も あります。


8. まとめ – Dockerを活用して開発環境を快適に!

Dockerを使うことで、開発環境を効率化し、よりスムーズに開発を進めることが可能 になります。
また、2025年のトレンドを押さえれば、さらに快適な開発環境を構築できます。

Docker Composeで複数のコンテナを一括管理
Dev Containers × VSCode で開発環境をクラウド対応
Kubernetesと連携し、本番環境との統一を実現
Podmanなど新しいコンテナ管理ツールにも注目

開発環境の構築に時間を取られることなく、コードを書くことに集中できる環境を整えましょう!
ぜひ、Dockerを活用して 「効率的な開発環境」 を実現してみてください!