環境・事前状況
- Surface Go
- Windows 2004以上
- WSLのUbuntuをインストール済み,WSL 2に移行したい
WSL 2を準備する
- 基本は↓に従う
- まずインストール
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- WSL 2を規定にする
wsl --set-default-version 2
- WSL -> WSL 2に変換
wsl --set-version Ubuntu 2
Ubuntu
のところはOS依存
- 上記実行したところ,
カーネル コンポーネントの更新が必要です
というメッセージが出て変換できない- 下記のサイトからパッケージをダウンロードし,WSL 2のカーネルを更新する
- WSL 2 Linux カーネルの更新 | Microsoft Docs
- インストール後,サイド
wsl --set-version Ubuntu 2
を実行- 時間がかかるが
変換が完了しました
と出ればOK
- 時間がかかるが
- 結果の確認は以下
PS C:\WINDOWS\system32> wsl --list --verbose NAME STATE VERSION * Ubuntu Stopped
Dockerを準備する
- 公式からDocker Desktop for Windowsをダウンロードしてインストール
- インストール時にWSL 2の機能を有効化するかチェックがあるので確認
VSCode上でWSL 2 Ubuntuを使う
- Ubuntuのターミナル上にて,任意のディレクトリで
code .
コマンドを実行し,VSCodeを起動- WSL 2を使うためのプラグインがインストールされるはず
- 左下が
WSL: Ubuntu
になっていればOK
- コンテナを使うため,VSCodeプラグイン
Remote - Containers
を入れる - Pythonのサンプルを動かしてみる
- GitHub - microsoft/vscode-remote-try-python: Python sample project for trying out the VS Code Remote - Containers extension
- ↑をcloneする
- 当該ディレクトリをVSCodeで開く
- Dockerfileが自動検出され,コンテナでreopenするか聞かれるのでreopenすると,再起動されてDev Containerが実行される
- GitHub - microsoft/vscode-remote-try-python: Python sample project for trying out the VS Code Remote - Containers extension