背景
WSL2は軽量な仮想環境としてWindows上でLinuxを利用できるため、Dockerを使った開発環境にも適しています。Docker Desktopを使用すると容易にコンテナを扱えますが、WSL2と連携させることでリソース効率とファイルシステムのパフォーマンスを向上させることができます。ここでは、WSL2上にDockerを導入し、基本的な開発環境を構築する手順を紹介します。
手順
- Docker Desktopのインストール
まず、公式サイトからDocker Desktop for Windowsをダウンロードし、インストールします。インストール時にWSL2統合を有効にするオプションを選択しておきます。これにより、Dockerが自動的にWSL2ディストリビューションと連携します。 - WSL2統合を有効にする
インストール後、Docker Desktopの設定から「Resources」→「WSL Integration」を開き、利用したいディストリビューション(例:Ubuntu)のスイッチをオンにします。この設定を有効にすることで、そのディストリビューション内でdockerコマンドを直接使用できます。 - Docker Composeのセットアップ
複数のサービスを連携させるにはDocker Composeが便利です。最近のDocker Desktoルすることもできます。Composeファイル(docker-compose.yml)を作成し、WebアプリとDBなど複数コンテナを定義すると、docker-compose up -dで一括起動できます。 - プロジェクトのボリューム共有
WSL2環境ではWindows側のファイルシステムよりもLinux側に配置した方が性能が良いため、プロジェクトディレクトリをLinux側に置くことが推奨されます。例えば~/projects/myappにソースコードを置き、Docker Composeのvolumesにそのパスを指定することで、ホストとコンテナ間でファイルを共有します。 - イメージのビルドと実行
Dockerfileをプロジェクトに用意し、ベースイメージ、依存パッケージ、アプリケーションコードのコピーと実行コマンドを定義します。docker build -t myapp .でイメージを作成し、docker run -p 8000:8000 myappでアプリケーションを起動します。コンテナが正しく起動すれば、ブラウザからアクセスして動作を確認できます。 - まとめ
- WSL2上でDocker開発環境を整えることで、ネイティブに近いパフォーマンスを享受しながらコンテナベースの開発が行えます。Docker DesktopのWSL統合機能を利用することで、複雑な設定なしに
dockerやdocker-composeを使用できるため、手軽に開発を開始できます。プロジェクトをLinux側に配置し、Composeを活用することで、効率的な環境構築と運用が可能になります。pには同梱されていますが、sudo apt install docker-composeで個別にインストー