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 --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を直接開いて開発 できるようになります。
【手順】
- VSCodeの「Remote – Containers」拡張機能をインストール
.devcontainer/devcontainer.json
を作成- 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を活用して 「効率的な開発環境」 を実現してみてください!