search
LoginSignup
10
Help us understand the problem. What are the problem?

posted at

updated at

Podman Desktopを試してみる

はじめに

2022年2月からDocker Desktopが有料(無償利用の猶予期間が終了)したことから、Docker Desktopの代替ツールが色々と登場してきました。「[Mac環境] Docker Desktopの代替として何が最適か」では、Rancher Desktopを代替ツールとしておすすめしましたが、2022年10月24日のKubeCon North Americaにおいて、Red Hat社から「Podman Desktop」が発表されました

Podman Desktopは、デーモンレスのコンテナエンジンであるPodmanの開発者向けGUIツールです。Podmanでのコンテナの起動・停止、コンテナログの参照、コンテナイメージのビルドといった基本的な操作をGUIで可能とします。また、Kubernetes/OpenShiftへのコンテナのPodとしてのデプロイといったKubernetes/OpenShiftとの連携機能も備えます。

Podmanはメジャーなコンテナエンジンとは言えないかもしれませんが、CLIではDockerと互換であり、docker xxxxコマンド を podman xxxx に置き換えて動作します。

以下では、Podman Desktopをインストールし、使ってみたところをご紹介します。

前提環境

  • マシン:MacBook Pro (14インチ, 2021)(M1 Max, メモリ64GBモデル)
  • OS:macOS Ventura 13.0.1
  • Podman Desktop 4.3.1

インストール

Podman Desktopの動作の前提としてPodmanがインストールされている必要があります。ただ、HomebrewでPodman Desktopをインストールする場合、その過程でPodmanも導入されるようです(「ようです」と書いているのは、私の環境では既にPodmanがインストール済みだったため)。

Brew will also install the Podman Engine along with the Podman Desktop application, in case you don't have it installed yet.

Podman Desktopは以下のコマンドでインストールします。

brew install podman-desktop

Macのアプリケーションとしてインストールされますので、インストール完了後は「アプリケーション」から起動するか、Spotlightなどで「Podman Desktop」と入力して起動します。

Podman Desktopが起動すると以下のような画面が表示されます。
image.png

なお、Podmanを使用したことが無い場合(Podman Desktopと一緒にPodmanをインストールした場合など)、「Initialize Podman」というトグルボタンが表示されます。Podmanでは、macOS内にLinuxのVMが必要になるため、初回利用時にそのVM環境としてPodman Machineの作成が必要となります。このトグルボタンを実行することで、Podman Machineが作成され、Podman Desktopが利用可能となります。

ただ、私が試した際は、初期化処理がいつまで経っても終了しなかったため、Podman Desktopを一度終了させ、再度起動させると、初期化処理が完了した状態になっていました。最終的に上記のスクリーンショットのように「Podman is running」と表示されていれば、Podman Desktopが使用可能となります。

Podman Desktopのコンテナ管理機能

Podman Desktopにはコンテナを管理する機能があります。画面左側のメニューの「Containers」では、マシン上のコンテナの一覧を参照することができます。また、「Create container」ボタンから、Dockerfileを指定してコンテナを作成することもできます。
image.png

起動中のコンテナを指定して、起動時に指定したポートでブラウザを開いたり、コンテナのシェルに入ったりといったことも可能です(以下の画面の「Open Browser」ボタンをクリックするとブラウザが開きます)。
image.png

コンテナのイメージを管理することも可能です。メニューの「Images」では、コンテナイメージの一覧を表示し、コンテナの起動、イメージの削除、イメージのレイヤ情報の参照ができます。
image.png

Kubernetesへのデプロイ機能

Podman Desktopでは、Kubernetesに対して簡単にデプロイする機能を備えています。

「Containers」でコンテナの一覧の中からデプロイしたいコンテナを選択し、ACTIONSから「Deploy to Kubernetes」(ロケットマークのアイコン)をクリックします。
image.png

すると、以下のようにKubernetesにデプロイするためのPodのマニフェストファイルが自動生成され、現在のコンテキストの対象のKubernetesクラスタに対してデプロイが実行できます。OpenShiftに対しては、routeの自動生成もできます。
image.png

ただし、この機能では、Podmanで稼働しているコンテナのイメージ取得元がPodのspec.containers.imageに設定されるため、ローカル端末でビルドしたコンテナイメージはデプロイできません(デプロイ対象のKubernetes/OpenShiftがイメージを取得できないため)。Docker Hubなど、デプロイ対象のKubernetes/OpenShiftがアクセスできるレジストリである必要があります。

以上のように、Podman Desktopは容易にインストールでき、基本的なコンテナ管理をGUIで実施できるという点で、Docker Desktopの代替として利用可能な選択肢の1つであると思います。

以上です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
10
Help us understand the problem. What are the problem?