10
どのような問題がありますか?

投稿日

更新日

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つであると思います。

以上です。

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
ログインすると使える機能について
hisato_imanishi
投稿した内容は私自身の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

コメント

この記事にコメントはありません。
あなたもコメントしてみませんか :)
新規登録
すでにアカウントを持っている方はログイン
10
どのような問題がありますか?
新規登録して、Qiitaをもっと便利に使ってみませんか

この機能を利用するにはログインする必要があります。ログインするとさらに下記の機能が使えます。

  1. ユーザーやタグのフォロー機能であなたにマッチした記事をお届け
  2. ストック機能で便利な情報を後から効率的に読み返せる
新規登録ログイン
ストックするカテゴリー