今回は、DockerのLinuxコンテナを使用した開発環境をWindows 10上に、Docker Deksktop for Windows + Ubuntu + Visual Studio Codeの構成で構築する手順を紹介します。Linuxに余り馴染みのないWindowsユーザーでも、開発の敷居が下がると思います。
Docker Desktop for Windowsの導入
まず、Docker Desktop for Windowsの環境を整えます。ポイントとしては、下記を用意します。
- Docker Desktop for Windowsインストール
- WSL2モジュールインストール
- Linuxコンテナへの切り替え
具体的な手順は、Docker Desktop for Windowsでコンテナ起動を参照してください。
WSL版Ubuntuの導入
Ubuntu 20.04インストール
Microsoft Storeから、Linuxディストリビューションをインストールします。ここでは、Ubuntu 20.04を例に説明します。
Ubuntuの設定が完了したら、とりあえず作業フォルダとして/home/{ubuntuユーザー名}/workフォルダを作成しておきます。
mkdir ~/work
一旦、Ubuntuのウィンドウを閉じます。
WSLバージョン設定
PowerShellを起動し、下記コマンドで実行WSLバージョンを確認します。
> wsl -l -v
NAME STATE VERSION
* docker-desktop-data Running 2
docker-desktop Running 2
Ubuntu-20.04 Running 1
もし、対象となるLinuxディストリビューション(ex. Ubuntu-20.04)のWSLバージョンが1だった場合、バージョン2にするために、下記コマンドを実行します。
> wsl --set-version Ubuntu-20.04 2
バージョンが2になったことを確認しておきます。
> wsl -l -v
NAME STATE VERSION
* docker-desktop-data Running 2
docker-desktop Running 2
Ubuntu-20.04 Stopped 2
Docker Desktop for Windowsの設定
Docker Desktop for Windowsの設定画面を起動します。
まず、General画面で下記を確認します。
- Use the WSL 2 based engine: チェックON
Resources> WSL Integration画面で、下記を設定してApply & Restartボタンをクリックします。
- Enable integration with additional distros: Ubuntu-20.04をON
この時点で、WSL Ubuntuで、sudo docker ps等のdockerコマンドが有効になっており、Docker Desktop for Windows環境の状態が見えると思います。もしDockerコマンドが見つからない場合は、Windows 10のシステムを再起動してみてください。
WSL2 based engine Enable Integration
Visual Studio Codeの設定
開発効率を上げるために、Visual Studio Codeを連携させます。
Windows側のVisual Studio Codeを起動して、拡張機能Remote-WSLをインストールします。
次に、画面左下の緑色アイコン(Open a Remote Window)をクリックして、Remote-WSL: Open Folder in WSL…を選択します。開くフォルダには、\wsl$\Ubuntu-20.04\home\{ubuntuユーザー名}\workを指定します。
開発を円滑にするため、Ubuntuに接続したVisual Studio Codeを使ってRemote側に拡張機能Dockerをインストールします。
Install Remote-WSL Extension Open a Remote Window Install Docker Extension
サンプル実行
実行サンプルとして、Django用のHello Worldを説明します。
- Visual Studio CodeのトップメニューTerminal > New Terminalをクリックします。ここからUbuntuを操作することができます。
- ターミナルから下記コマンドを実行します。
- sudo apt update
- sudo apt install python3-pip
- pip3 install Django
- ソースコードを入手します。
- cd ~/work
- git clone https://github.com/mattwojo/helloworld-django.git .
- cd helloworld-django
- Visual Studio CodeのトップメニューRun > Start Debuggingをクリックし、プロジェクトをスタートします。実行環境の選択が表示されたら、Python3を選択してください。
- Windowsのブラウザから、下記にアクセスしてWebが起動していることを確認します。
- Powershellから下記コマンドを実行すると、サンプル用コンテナが起動していることが分かります。
- docker ps
Launch Web
まとめ
Docker Desktop for WindowsとWSL2のLinuxディストリビューションを連携させることで、Linuxでのコンテナ開発環境を簡単に構築できます。またVisual Studio Codeなどエディタをリモート接続することで、効率的に開発を進められます。
以上、Windowsユーザー用Linux コンテナ開発環境構築の紹介でした。
コメント