WindowsにインストールしたPodmanにWSLから接続したい
概要
Windows 11にインストールしたPodman Desktopに対し、WSLから接続できるようにする手順をまとめる。
WSL2の場合
Podman公式に手順が書いてある。
Accessing Podman from another WSL distribution (Windows) | Podman Desktop
WSL2で動かしているディストリビューションがUbuntu 24.04であれば、以下のようなコマンドを実行すればいい。
cd ~/
curl -OL https://github.com/podman-container-tools/podman/releases/download/v6.0.0/podman-remote-static-linux_amd64.tar.gz
tar xvf podman-remote-static-linux_amd64.tar.gz
ln -s ~/bin/podman-remote-static-linux_amd64 ~/bin/podman
# 通常、`~/.profile` で `~/bin` がある場合にPATHを通すという設定があるため、ここで一度抜けて PATH を反映し直す。元も `~/bin` が存在していたなら不要。
exit
podman system connection add --default podman-machine-default-root unix:///mnt/wsl/podman-sockets/podman-machine-default/podman-root.sock
sudo gpasswd -a uucp $(whoami)
WSL1の場合
今のところ上手くいっていない。個人的には普段WSL1を使っているので、こちらが本命…だったのだが。
wsl1の場合、podman-socketsがマウントされていないため、直接Windows側のpodman socket(%LOCALAPPDATA%\Temp\podman\podman-machine-default-api.sock)に接続すればいけるだろう、と踏んでいた。だが、そもそも podman-remote-static-linux_amd64 を引数無しで実行した時に FATA[0000] Cgroups v1 not supported と、Cgroups判定でエラー終了したので、多分無理。リモートに接続するので、cgroups v2で無くても動きそうなものだが…