Windows の WSL2 で入れた Ubuntu で Docker + Ollama + llama3 を動かしたメモ

Windows の WSL2 で入れた Ubuntu で Docker + Ollama + llama3 を動かしたメモです。

背景

Raspberry Pi(ラズパイ)のローカル環境でLLMを動かす

こちらの記事で Raspberry Pi 5 4GB で Docker + Ollama + llama3 が動かせたときに「あれ?こんなに手軽に動くならシンプルに WLS2 うごくんじゃない?」と思ったのがきっかけです。

ありがとうございます!

前提

  • Windows 11 Pro
  • WSL2 が利用可能な状態にしている
  • Ubuntu を WSL2 を一度使用して手元にある状態にしている

こんなあたりで動くと思います。

Ubuntu をエクスポートしておきます

wsl.exe --export Ubuntu C:\workspace\wsl2-workspace\tseigo_base_Ubuntu_20.04_image.tar

WSL2 で Ubuntu 20.04 を動かせてる状態で、一旦エクスポートで補完しておきます。これを複製する形で環境を作ります。

新しい環境を作る

  • DistroName
    • Ubuntu_20.04_ollama_test
  • InstallLocation
    • C:\workspace\wsl2-workspace\Ubuntu_20.04_ollama_test
  • InstallTarFile
    • C:\workspace\wsl2-workspace\tseigo_base_Ubuntu_20.04_image.tar

このような設定で新しい環境を作ります。

wsl.exe --import Ubuntu_20.04_ollama_test C:\workspace\wsl2-workspace\Ubuntu_20.04_ollama_test C:\workspace\wsl2-workspace\tseigo_base_Ubuntu_20.04_image.tar

実行したら、

インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。

と出たら作成完了。

WSL2 で今回の環境起動

一旦ターミナルを閉じて開きなおします。

windows-wsl2-ubuntu-docker-ollama-llama3_00.png

Ubuntu_20.04_ollama_test を選択して起動します。

Docker を準備します

Install Docker Engine on Ubuntu | Docker Docs

こちらを参考に進めます。

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

こちらと、

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

をまず実行。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

で Docker インストール。

sudo gpasswd -a $USER docker
newgrp docker

で現在のユーザー権限で入れるようにします。

hello-world 検証

sudo docker run hello-world

Hello from Docker!

が動いたら成功です!

Ollama を Docker で入れてみる

Raspberry Pi(ラズパイ)のローカル環境でLLMを動かす

を参考にコマンドを打ってみます。

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

で Ollama インストール。

docker exec -it ollama ollama run llama3

で実行します。

windows-wsl2-ubuntu-docker-ollama-llama3_01.png

こんな感じで。自分のメイン PC のマシンパワーだとサクサクと返答が返ってきて気持ちいいです!