はじめに
Software Design 2026年2月号から始まった連載記事「Podmanで実践 AI駆動開発のためのコンテナ環境構築入門」を読んで、その内容に沿ってやってみることにしました。
私は開発経験が少なく、AI開発も未経験。dockerも意味を理解せずただコマンドを入力して使っていただけ。
記事を読んで、入門にちょうどよさそうと思ったのでした。
しかし実際に環境を作ってみて、理解不足のために勘違いをしていろいろと余計なことをしてしまったので、もし同様の人がいたら役に立つかと思い記録しておきます。
Podman Desktopの導入
p.119からの手順に従ってPodman Desktopを導入してみることに。
自分の環境は、Windows11です。
①Podman Desktopのインストール
公式サイトからインストーラをダウンロードし、実行しました。
https://podman-desktop.io/
インストールオプションでは「現在のユーザのみにインストールする」を選択しました。
②Podman CLIのインストール
Podman Desktopを起動するとメッセージが表示されるのは記事の通り。そのまま流れでPodman CLIもインストールします。
WSL(デフォルト)を選択します。
インストールされたみたいです。
ここで、私はちょっと勘違いをしていました。
③Podman machineの作成
Podman Desktopの表示に従い、「Next」ボタンを押していくと、Podman machineを作成するよう促されます。
記事の画面と内容が違いますが、「Machine with root privillage」がデフォルトで有効になっているので、記事に従いオフにし、「Create」ボタンをクリック。
しばらく待つと、画面が変わります。
記事にはこの後の設定については記述がないのですが、画面に従って「Next」を押し続けて行ったらkubectlとcomposeのインストールもやってしまいました。良かったのかどうかはわかりません…
動作確認ではまる
p.120の手順に従い、動作確認を行おうとしました。
Podman machineの起動が完了したら、ターミナルを開き、次のコマンドでコンテナを起動しましょう。
ということなので、Windows Terminalから、wsl(Ubuntu) で下記コマンドを入力しました。
podman run --rm quay.io/podman/hello
ところが。podmanというコマンドがないのです。
Powershellの方からはコマンドが実行できました。
CLIのインストールの時になにか手順を間違ったのでは?
勘違いの正体
ChatGPTに聞いたりしていろいろ調べてたところ理由がわかりました。
これは正常で当たり前の挙動でした。
Podman machineのところでwslを選択したのは、wslで独自のディストリビューションとしてpodman-machine-defaultが動作しているということでした。Ubuntuは関係なかったです。
Powershellでこのように確認できます。
C:\Users\satok>wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定値)
podman-machine-default
Podman Desktopで指示に従ってインストールされたPodman CLIはWindowsで動作するpodman.exeだけ、なのでした。
C:\Users\satok>where podman
C:\Users\satok\AppData\Local\Programs\Podman\podman.exe
やだ恥ずかしい。Ubuntuから使えるものだとばかり…
では、Ubuntuからpodmanコマンドを使ってPodman machineに接続するには?
別の手順が必要なのでした。
UbuntuからPodman Desktopで作成したPodman machineにアクセスするには
公式ドキュメントに手順がありましたのでそのとおり実行しました。
Accessing Podman from another WSL distribution
冒頭に、WindowsのPodman CLIは設定するけど他のwslディストリビューションの設定はしませんってちゃんと書いてました。
On Windows, Podman Desktop creates a Windows Subsystem for Linux (WSL) virtual machine: the Podman Machine. It also configures the Windows Podman client to communicate with the Podman Machine. However, it does not configure your other WSL distributions.
手順は、下記のとおりです。
Ubuntuで、まずPodmanのバイナリをダウンロードして/usr/local/binにインストールします。最新バージョンがこの時点では5.7.1でした。
$ wget https://github.com/containers/podman/releases/download/v5.7.1/podman-remote-static-linux_amd64.tar.gz
$ sudo tar -C /usr/local -xzf podman-remote-static-linux_amd64.tar.gz
下記を実行してpodmanコマンドを使えるようにします。
$ export PATH="$PATH:/usr/local/bin"
$ alias podman='podman-remote-static-linux_amd64'
また、.bashrcに下記を追加します。
export PATH="$PATH:/usr/local/bin"
alias podman='podman-remote-static-linux_amd64'
次に、Podman Desktopで作成したpodman-machine-defaultに接続する設定をしていくのですが、rootlessで作成したので公式ドキュメントに書いてあるコマンドと接続先のソケットが違います。(公式ドキュメントに注釈もあります)
$ podman system connection add --default podman-machine-default unix:///mnt/wsl/podman-sockets/podman-machine-default/podman-user.sock
uucp groupに現在のユーザを追加します。
$ sudo usermod --append --groups 10 $(whoami)
一旦シェルを抜けて、また入りなおして、確認します。
$ podman system connection list
Name URI Identity Default ReadWrite
podman-machine-default unix:///mnt/wsl/podman-sockets/podman-machine-default/podman-user.sock true true
podman-machine-default-root unix:///mnt/wsl/podman-sockets/podman-machine-default/podman-root.sock false true
$ podman version
Client: Podman Engine
Version: 5.7.1
API Version: 5.7.1
Go Version: go1.25.5
Git Commit: f845d14e941889ba4c071f35233d09b29d363c75
Built: Wed Dec 10 23:56:21 2025
OS/Arch: linux/amd64
Server: Podman Engine
Version: 5.7.1
API Version: 5.7.1
Go Version: go1.25.4 X:nodwarf5
Git Commit: f845d14e941889ba4c071f35233d09b29d363c75
Built: Tue Dec 9 09:00:00 2025
OS/Arch: linux/amd64
では、もう一度動作確認をやってみます。
$ podman run --rm quay.io/podman/hello
!... Hello Podman World ...!
.--"--.
/ - - \
/ (O) (O) \
~~~| -=(,Y,)=- |
.---. /` \ |~~
~/ o o \~~~~.----. ~~
| =(X)= |~ / (O (O) \
~~~~~~~ ~| =(Y_)=- |
~~~~ ~~~| U |~~
Project: https://github.com/containers/podman
Website: https://podman.io
Desktop: https://podman-desktop.io
Documents: https://docs.podman.io
YouTube: https://youtube.com/@Podman
X/Twitter: @Podman_io
Mastodon: @Podman_io@fosstodon.org
うまく動いたみたいです。
このhelloのimageをpodman rmiで消して、またpodman runを実行して入れたりして、Podman Desktopのimagesタブの内容と一致しているのを確認しました。
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/podman/hello latest 5dd467fce50b 20 months ago 787 kB
これで大丈夫かな?
おわりに
Podman Desktopと、Podman machineとPodman CLIの関係の理解にちょっと時間がかかりました。今も完全に理解できているか自信がないですが。
連載の次回も試してみます!







