🦭

Podman Desktop を使ってみる

2024/08/10に公開

はじめに

これまで、コンテナは docker で、Windows では、Docker Desktop で動かしてきたのですが、有料のサブスクリプションが必要な場合があります。
https://www.docker.com/ja-jp/pricing/faq/#whos-required-to-pay-for-docker-desktop

代わりの候補はいくつかあるのですが、今回は Podman Desktop を試してみました。
会社の Windows11 の PC では、あっさり動いたのですが、自宅の古めの Windows10 の PC だといろいろあったので、備忘録というかメモを残しておきます。

動かす

インストール

以下のサイトから Podman Desktop for Windows をダウンロードします。バージョンは v-1.11.1 でした。
https://podman.io/

インストーラを起動すると、インジケータだけの画面であっさり終了します。
久しぶりに、Windowsセキュリティの重要な警告画面が出ますが、適当に許可して進みます。

Podman Desktop は、英語表記ですね。後からでも設定できるようなので、Podman のみ選択して、onboarding してもらいます。

いくつか×なので、これらを解消する必要があります。ここで折れないための記事です。

Hyper-V は、コントロールパネルプログラムと機能Windowsの機能の有効化または無効化 でしたね。

ファームウェア設定変更も、ずっとやってなかったので Google 先生に教えてもらいながら、今回は ThinkPad でしたので、F1 キー長押し選手権と早押し選手権したのですが、一勝もできませんでした。

設定更新とセキュリティ回復PC の起動をカスタマイズする から立ち上げて、Hyper-V を ON にして、上のコントールパネルに戻ります。ここで 仮想マシンプラットフォーム も有効にしておきます。

onboarding の続き

再起動してますから、当然、さっきの onboarding の画面は終わってます。Podman Desktop を起動します。
さっきのままの画面は見つけられなかったので、SettingsResourcesPodmanSetup... します。

WSL2 Installed なのに WSL version should be >= 1.2.5 でない?
後ろに Call \wsl --version` in a terminal` と書いてあるので、やってみます。

Microsoft Windows [Version 10.0.19045.4651]
(c) Microsoft Corporation. All rights reserved.

C:\Users\araki>wsl --version
コマンド ライン オプションが無効です: --version
Copyright (c) Microsoft Corporation. All rights reserved.

使用法: wsl.exe [Argument] [Options...] [CommandLine]

コマンドの使い方が間違ってますよ。と Podman Desktop の中の人に教えてあげるわけにもいかず、「むむむ」となるのですが、ここは以下のようにします。

C:\Users\araki>wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム  はインストールされました。

C:\Users\araki>wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
MSRDC バージョン: 1.2.5326
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26091.1-240325-1447.ge-release
Windows バージョン: 10.0.19045.4651

これで突破すると以下のようになります。

当然、Yes でインストールします。

このインストーラもあっさり終わります。

Autostart は Enabled のまま Next で続けます。

Podman machine が無いから作りましょう。この段階では、以下の状態です。

C:\Users\araki>wsl --list
Linux 用 Windows サブシステムにインストールされているディストリビューションはありません。

使用可能なディストリビューションを一覧表示するには、'wsl.exe --list --online' を使用します
インストールするには 'wsl.exe --install <Distro>' と指定します。

ディストリビューションは、Microsoft Storeにアクセスしてインストールすることもできます:
https://aka.ms/wslstore
Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND

言われるがままに作ります。ここが一番長いかもしれません。

ここまでくると、以下のように状態が変わります。

C:\Users\araki>wsl --list
Linux 用 Windows サブシステム ディストリビューション:
podman-machine-default (既定)

Podman machine が気になるので、Windows Terminal を以下からインストールします。

https://apps.microsoft.com/detail/9n0dx20hk701?cid=msft_web_appsforwindowsphone_spotlight&hl=ja-jp&gl=JP

Windows Terminal からは、以下のように podman-machine-default に接続できます。

接続して、正体を見ておきます。

[user@TP25 ~]$ cat /etc/system-release
Fedora release 40 (Forty)
[user@TP25 ~]$ podman --version
podman version 5.1.2

ということで、作成した Podman machine は、Fedora 40 上の Podman version 5.1.2 ということがわかりました。

ちなみに、Windows 上は、以下のようになりますが、これは、podman-remote を叩いているだけだそうです。

C:\Users\araki>podman --version
podman version 5.1.1

おわりに

無事に動いたので、Podman で動かしたかったものについても記事にしていきます。
ルートレス、デーモンレスを活かした使い方も検討したいと思います。

現在、以下を読みながら、勉強中です。

https://www.shuwasystem.co.jp/book/9784798070209.html

GitHubで編集を提案
株式会社ROBONの技術ブログ

Discussion