Podman 4.0.0 release

Podman 4.0.0 Release

Podman 4.0.0 が 2022/02/18 にリリースされました。

Podman 4.0 is one of our most significant releases ever, featuring over 60 new features.

公式サイトではなんと60以上の新しいfeatureが追加されたと紹介しています。 この中で私が紹介したい新しいfeatureについて簡単なテストと紹介をしてみたいと思います。 全ての新しいfeatureを確認したい方はPodman v4.0.0 release notesを確認してください。

環境設定

今回のpostで使ったlocal環境は下記の環境です。

Machine: Macbook Pro (16-inchim, 2021), Apple M1 Pro
OS: MacOS Monterey 12.1

Podman upgrade

以前の postでも見ましたが、MacではHomebrewを使って簡単にupgradeすることができます。

brew upgrade podman

以前インストールしたpodmanのバージョンは3.4.4でしたが、Hombrewを使ってupgradeをしたらupgradeされたバージョンが出ます。

$ podman --version
podman version 4.0.2

私がインストールする時、最新バージョンが4.0.2なのでversionが4.0.2と出ます。 じゃ、podmanがupgradeされたので、新しい機能について説明します。

Podman machine

Podmanで提供してるvirtual machine機能が便利でしたが、不便な点も多く存在しました。 今回のv4.0.0でアップデートされて不便だった部分がかなり解消されました。

公式的なWSLサポート

WindowsではWSLというWindowsでlinuxシステムを使えるように提供しています。 PodmanではWSLをvirtual machine typeとして提供していませんでしたが、今回のリリースからWSLを公式にサポートするようになりました。

Windows OSを使ってる方には良いニュースです。

Podman machine volume

以前のPodman machineではvirtual machineなのでlocal storageとは隔離された環境です。 つまり、Mac上で存在するfilesをcontainerでmountしたい場合、最初にvirtual machineへfileを移動してcontainerへmountする必要がありました。 しかし、今回新しく追加されたvolume機能を使うとファイルを別に移動しなくてもlocalのファイルを使うことができます。 次の例を使って環境を構築してみましょう。

podman machine init \
  --cpus 2 \
  --memory 4096 \
  --disk-size 32 \
  --image-path stable \
  --volume /Users/user:/var/home/mac \
  default-vm

podman machine start default-vm

Mac local storageの/Users/userというフォルダをそのままvirtual machineの/var/home/macにmountさせるようにvirtual machineを生成しました。

$ echo "hello podman 4.0" > hello-podman.txt
$ podman machine ssh default-vm
Connecting to vm default-vm. To close connection, use `~.` or `exit`
Warning: Permanently added '[localhost]:56443' (ED25519) to the list of known hosts.
Fedora CoreOS 35.20220305.dev.0
Tracker: https://github.com/coreos/fedora-coreos-tracker
Discuss: https://discussion.fedoraproject.org/tag/coreos

Last login: Tue Mar 22 00:33:06 2022 from 192.168.127.1

$ cat /var/home/mac/hello-podman.txt
hello podman 4.0

volume mount機能をテストするためMac/Users/userというフォルダでhello-podman.txtという一時ファイルを生成してみました。 podman machine sshで生成したvirtual machineに接続した後、/var/home/mac/hello-podman.txtファイルの内容を確認したら、私たちが一時的に生成したファイルの内容であるhello podman 4.0が出力されることが確認できます。

この機能を使ってよく使うフォルダをあらかじめmountしておいて、作業する時使ってみるといいと思います。

結論

以前にもpodmanを使う時、machineにvolume mountができないのでlocalにあるfileをpodにmountすることが不可能でした。 しかし、今回のアップデートで追加されて楽になったようです。 podmanが便利な機能をどんどんアップデートしてるので期待が大きいです。 dockerに代わるcontainer/pod management toolのdefactoになることを祈っています。

Comments