WSLとDockerの開発環境構築メモ

Tech

自分用メモです。

環境
Windows11 24H2

スポンサーリンク

1. WSLのインストール

管理者モードでPowerShellを開く

wsl --install

以下のようなエラーコードが出るが気にせず再起動。
“エラー コード: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_SERVICE_NOT_AVAILABLE”

再起動することで設定が更新される。

以下のコマンドでインストールされているディストリビューションを確認。最初はおそらく何も入っていない。

wsl --list --verbose

また以下のコマンドでWSLのバージョン2が入っていることを確認

wsl --status

今回は以下のコマンドでUbuntuの24.04をインストール。一番最近のLTSなので選択。

wsl.exe --install Ubuntu-24.04

インストール後ユーザー名とパスワードを設定。好きな文字列でいい。

パッケージの更新とアップデート

sudo apt update && sudo apt upgrade

おまけ:Linuxを使い始める
WSLのLinuxのイントロページを読むと基本的なコマンドやパイプ “|” の基本的な使い方が書いてある。自分みたいになんとなく使ってた人が全体を簡単に把握するのにおすすめ。

スポンサーリンク

VS Codeのインストール

VS Code のインストール ページからVS Codeをインストール。
インストール時パスを追加オプションをオンにしておくとコマンドがどこからも使用できて楽。

WSLのUbuntu上で下記のコマンドを打つと現在のディレクトリでVS Codeを開くことができる。

code .

リモート開発環境拡張パック(Remote Development)をインストール

Docker環境作成+GPU周りの確認

GPUドライバのインストールはWindows上で行う。
WSL上で以下のコマンドでドライバのバージョンを確認できる。

nvidia-smi

最近のバージョンが576.88だったのでドライバを更新
NVIDIA APPは入れてもよさそうだったが今回は入れずに進めた。

バージョンアップされたことを確認

Docker CEのインストール

依存パッケージのインストール

sudo apt update
sudo apt install -y \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

Docker CE のインストール

# GPGキーの取得
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# リポジトリの追加
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker のインストール
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io \
    docker-buildx-plugin docker-compose-plugin

NVIDIA Container Toolkit をインストール

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)

curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | \
    sudo gpg --dearmor -o /etc/apt/keyrings/nvidia-container.gpg

curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
    sed 's|^deb |deb [signed-by=/etc/apt/keyrings/nvidia-container.gpg] |' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# Docker に反映
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

docker コンテナの動作確認

以下のコマンドはdocker環境を作成してnvidia-smiを実行し、実行後環境を削除するコード

sudo docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu24.04 nvidia-smi

実際に環境作成 pytorchを利用する場合

基本的にはdockerで使用するファイルを置くディレクトリをもとの環境に作成し、そこをdocker内のディレクトリと対応させて(今回の場合~/myproject-cuda12.8をdocker環境内のworkspaceに対応させて)使用していく。

mkdir -p ~/myproject-cuda12.8
cd myproject-cuda12.8/
sudo docker run --gpus all -it   --name cuda-dev   -v ~/myproject-cuda12.8:/workspace   -w /workspace   nvidia/cuda:12.8.1-cudnn-devel-ubuntu24.04   bash

vscodeなどと連携するときは下記のコマンドでdockerを使用する際にsudoをつけなくてもよいようにした方がよさそう

sudo usermod -aG docker $USER

vscode側から’ctrl + shift + P’を押して出てくる枠に

Dev Containers: Attach to Running Container...

を入力して選択すると起動中のdockerのコンテナを選んで開始することができる。

コメント

タイトルとURLをコピーしました