まとめ

本シリーズ「コンテナで構築する開発環境」では、 Dev container を用いた再現性の高い開発環境の設計・共有目標に、 段階的に環境構築の方法を学んできました。

Vol.0: 開発環境構築

Vol.0 では、以降のハンズオンをスムーズに進めるための前提環境を整えました。

  • WSL2 の導入
  • Linux(Ubuntu)環境の準備
  • Docker のインストールと動作確認
  • 「WSL2 上のファイルシステムで作業する」重要性

ここでのポイントは、Docker を導入することで、 OS や PC の違いによる環境差異を最小限にする土台を作ったことです。

Vol.1: Docker / Docker Compose 入門

Vol.1 では、Dev container の前提となる Docker/Docker Compose の基本を確認しました。

  • Docker コンテナ / イメージの考え方
  • ポートフォワーディングとボリュームマウント
  • Dockerfile によるカスタムイメージ作成
  • Docker Compose による複数サービス構成
  • サービス間通信(app → web)

この回で伝えたかったのは、 開発環境は「1コンテナ」ではなく「複数サービスの集合」である という視点です。

Vol.2: Dev container 入門

Vol.2 では、これまでに作った Docker/Docker Compose の構成を土台に、 Dev container を使った開発体験を実際に構築しました。

  • devcontainer.json の役割
  • Docker Compose と Dev container の関係
  • VS Code をコンテナに接続して作業する仕組み
  • Spring Boot + PostgreSQL を想定した開発環境構成
  • psql による DB 接続確認

ここで得られた最大の成果は、 「誰でも同じ手順で、同じ開発環境を一瞬で再現できる」状態 を実際に体験できたことです。

このシリーズで持ち帰れるもの

本シリーズを通して、次のものを持ち帰ることができます。

  • Docker / Docker Compose / Dev container を使った開発環境構成の考え方
  • Spring Boot + PostgreSQL 向け Dev container 構成のひな形
  • 環境構築手順を README ではなくコードで管理する発想
  • 新しいメンバーが参加しても「環境構築で詰まらない」仕組み

この構成をベースにすれば、 Spring Boot プロジェクトを追加するだけで、すぐに実開発を始めることができます。

次のステップ

この先の発展としては、次のようなことが考えられます。

  • Spring Boot プロジェクトを組み込んだテンプレート化
  • Flyway / Liquibase による DB マイグレーション管理
  • 本番環境(CI/CD)との役割分担整理
  • Dev container を前提としたチーム開発フローの整備

Dev container は「便利なツール」ではなく、 開発体験そのものを標準化するための仕組みです。

ぜひ、今回作成した構成をベースに、 自分たちのプロジェクトに合った開発環境を育てていってください。