Podman Desktop がリリースされたので Windows にインストールしました。 インストールしただけです。

Podman Desktop とは

Publickey さんの記事にすべて書かれてます。

failed to fetch remote resource: Service Unavailable

インストール

Podman Desktop 公式ページ に MacOS, Windows, Linux の各環境向けインストールマニュアルがあります。 今回は Windows 向けマニュアルを参照しました。

前提条件に「Hyper-V が有効化されていること」と「WSL2 がインストールされていること」とありますが、今回は両方ともインストール済みだったので省略します。 マニュアルによると Podman Desktop からそれぞれインストールできるようです。

Podman Desktop ダウンロードページ から .exe ファイルをダウンロードします。 バージョンは v0.9.1 でした。

ダウンロードした .exe を起動すると、匿名で情報収集してよいかと聞かれます。 任意ですがこころよく OK します。

Podman Desktop のダッシュボードが表示されますが、Podman が見つからないと表示されました。 この Windows には Podman 自体もインストールしていませんでした。

[Install] ボタンを押すと Podman をインストールするか聞かれます。 今回はバージョン v4.3.0 でした。

GitHub のリポジトリを見ると v4.3.0 最新ではありませんでしたが、27 日前リリース (2022/11/15 時点) だったので比較的新しいものがインストールされるようです。 マイナーバージョンで判断してるとかですかね?

さきほどのダイアログで [Yes] を選択すると Podman のインストールウィザードに移ります。

このとき、WSL2 がインストールされていない場合に一緒にインストールするか選択できます。 今回は [Install WSL if not present] にチェックしてますがインストール済みなので特に処理は動きませんでした。

Podman v4.3.0 がインストールされていって……。

完了しました。

これで使えるようになったと思いきや、Podman の初期化が必要なようです(Podman をちゃんと使っていないので流れを把握できてない)。

[Initialize Podman] トグルを有効化すると初期化が始まりました。

初期化が終わると「Podman v4.3.0 is stopped」と表示されていました。

ここで [Run Podman] トグルを有効化して……。

しばらくすると「Podman is running」になりました。 これで Podman Desktop を使える状態になったようです。

機能紹介

Podman Desktop の各画面にどのような機能があるか見てみます。

Containers

Podman で実行されているコンテナが表示されるとこですが、なにも動いていないので当然なにも表示されていません。

hello, world 用のコマンドが載っていますが、Podman Desktop 上にコンソールぽいものはないので PowerShell から試してみます。

恐る恐る podman version を試してみると……。 実行できました! Windows で初めて Podman 実行したので、少し感動。

Podman Desktop に表示されていた hello, world 用コマンド実行したら無事にダグトリオ可愛いマスコットの AA が表示されました。

[Containers] 画面にも hello, world 用のコンテナが表示されました。

また、右上の [Create Container] で Containerfile/Dockerfile からコンテナ作成できたり、ダウンロード済みのイメージからコンテナ作成できるようです。

他にも [Play Kubernetes YAML] ボタンがありますが、そちらを押すと Kubernetes のマニフェストファイルを選択して実行(?)できるようです。

Images

ローカルにダウンロードされているコンテナイメージの一覧です。

空っぽの状態。

hello, world 実行後。

[Pull Image] で各種レジストリにログインしつつイメージをプルしたり。

[Build Image] で Containerfile からイメージビルドしたりできるみたいです。

Pods

Podman の特徴である Pod の管理画面です。

初期状態。

サンプルで表示されているコマンド podman pod create --label myFirstPod を PowerShell で実行してみます。

空っぽの Pod が作成されました。

Pod にカーソルを合わせると [ACTIONS] にアイコンが表示されます。 左から

  • Generate Kube
  • Deploy to Kubernetes
  • Start Pod
  • Restart Pod
  • Delete Pod

となっています。 Podman Desktop からマニフェストを出力したり、Kubernetes にそのままデプロイできるようですね。 すごい!(試してない)

そして、よく見ると [Containers] と [Images] がそれぞれ 1 になっています。

[Containers] には Pod とその中にあるコンテナが表示されていました。 Kubernetes でもおなじみ(?)の pause コンテナのようです。

[Images] を見ると、その pause コンテナのイメージを確認できます。

これで気づいたんですが、この puase コンテナ、podman-pause っていうコンテナイメージ使ってるんですね……。

Volumes

[Volumes] は Podman のボリュームを表示する画面のようですが、現時点ではこの画面からボリュームの作成はできないようです。

PowerShell で podman volume create hostvolume を実行してみると、ボリュームが表示されました。 [ACTIONS] にはボリューム削除ボタンしかありませんでした。

Settings

最後は設定画面。 設定見ていくと細かくなってしまうため今回はスルー。

機能紹介は以上です。

あとがき

1 年前に RFE (Request for Feature Enhancement) の Issue が作られていて、気になっていた Podman Desktop がついにリリースされました。

「気になって」とは言いつつも、結局 Podman 自体をガッツリ触ることなく 1 年を過ごしてしまったので、Podman Desktop のリリースをキッカケに Podman を常用してみようかな。