2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GoQSystemAdvent Calendar 2022

Day 18

Docker Desktopの代替サービスを探す旅。Podman Desktopを試してみる。

Last updated at Posted at 2022-12-19

はじめに

GoQSystemでは開発・本番環境問わず多くのプロジェクトでDockerを利用しています。
2022年2月からDocker Desktopが有料サービスになりました。(※2021年9月に有料化が開始され、無料で使える猶予期間が終了しました。)
弊社は有料となる条件に該当しないため、無料で使い続けることができていますが、無料・有料に関わらず事業として開発を行なっている以上は代替案を持っておくべきだと思うので、今回はPodman Desktopを試していこうと思います。

※ 都合上、使用している画像の一部を隠しています。

Podman Desktopとは

podman-logo.png
RedHat社から2022年10月に発表されました。
Podman上で起動しているContainerおよびPodをGUIから操作できることを目的としています。
PodmanはDocker互換のコンテナエンジンです。

Docker互換ではあるものの、Podmanという名前から分かるようにDockerというよりもKubernetesよりな気がします。

参考にした記事

実行環境

マシン:MacBook Pro (13インチ, 2020)(Apple M1, メモリ16GBモデル)
OS:macOS Ventura 13.0.1

インストール

公式サイトからインストールするか、brewでインストールすることができます。
今回はbrewでインストールを行いました。

brew install podman-desktop

Podman Desktopを使用するにはPodmanがインストールされていることがMUSTなようですが、以下の結果からpodman-desktopをインストールする過程でpodmanもインストールされていることがわかります。

==> Fetching podman
==> Downloading https://ghcr.io/v2/homebrew/core/podman/manifests/4.3.1
######################################################################## 100.0%
==> Downloading https://ghcr.io/v2/homebrew/core/podman/blobs/sha256:f65eb8652f1ee79a37bcc3c7d9d75719c13d7aa3b2b925d389ee2689451a7d40
==> Downloading from https://pkg-containers.githubusercontent.com/ghcr1/blobs/sha256:f65eb8652f1ee79a37bcc3c7d9d75719c13d7aa3b2b925d389ee2689451a7d
######################################################################## 100.0%
==> Installing podman
==> Pouring podman--4.3.1.arm64_ventura.bottle.tar.gz
🍺  /opt/homebrew/Cellar/podman/4.3.1: 185 files, 47.6MB
==> Installing Cask podman-desktop
==> Moving App 'Podman Desktop.app' to '/Applications/Podman Desktop.app'
🍺  podman-desktop was successfully installed!

起動

Macのアプリケーションとしてインストールされているので、LaunchpadやSpotlightからPodman Desktopを探して起動します。

起動するとこのような画面が表示されます。
スクリーンショット 2022-12-18 20.26.40.png

Podmanを使用したことがなければ、Initialize Podmanのトグルボタンが表示されます。Onにすると、Podmanの初期設定が開始されます。
@hisato_imanishiさんの記事にあるように、私もIntializing...Please Wait...の文字が表示されてから一向に初期設定が完了しなかったので、一旦終了してPodman Desktopを再度起動すると以下の画面のようにPodmanが起動しました。
スクリーンショット 2022-12-18 22.26.48.png

Imagesを確認してみます。
スクリーンショット 2022-12-18 20.29.06.png

Containersを確認してみます。
スクリーンショット 2022-12-18 20.29.10.png

Volumesを確認してみます。
スクリーンショット 2022-12-18 20.29.14.png

これまでDocker/Docker Desktopで作成したContainers、Images、Volumesを確認することができました。

Containerを起動する

Docker Desktopと同様にボタン1つ(以下画像の赤枠)で起動できます。停止するときはまたボタンを押せば停止します。
スクリーンショット 2022-12-18 20.43.41.png
Docker Desktopと異なるのはcomposeで定義されているサービスを起動することができず、サービスで定義されているコンテナを1つづつ起動する必要があります。

起動すると画面の赤枠部が緑色に変わります。
スクリーンショット 2022-12-18 20.47.51.png

Docker Desktopと同様にコンテナのログを見ることもできますし、Terminalからコンテナ内で操作を行うことができます。Docker Desktopと異なるのはInspectがより詳細でJSON形式であること、Docker DesktopがStatusであるところがDetailsになっているくらいです。コンテナ環境を設定・チューニングするエンジニア以外は気にならないでしょう。
スクリーンショット 2022-12-18 21.26.29.png

ImageからContainerを起動し停止する

起動したいイメージをマウスオーバーすると、Containersと同じボタンが表示(以下画像の赤枠)されるのでクリックします。
スクリーンショット 2022-12-18 20.54.27.png

ボタンをクリックすると以下のような画面が表示されます。
必要な情報を入力、Start Containerボタンをクリックします。
今回はコンテナ名とポートのみでしたが、環境変数やVolumesを設定することができます。
スクリーンショット 2022-12-18 20.54.55.png

コンテナを起動することができました。
スクリーンショット 2022-12-18 20.59.20.png

必要に応じてより詳細な設定を行うこともできます。
AdvancedではTTYの付与など、
スクリーンショット 2022-12-18 21.31.22.png
Networkingではコンテナホスト名やネットワークモードの切り替え、
スクリーンショット 2022-12-18 21.31.25.png
Securityではコンテナをread-onlyモードに設定するなどが行えます。(Docker Desktopにつけて欲しい)
スクリーンショット 2022-12-18 21.31.28.png

まとめ

時間があれば「Podman」自体を触りたいところでしたが今回はここまでにしておきます。
所感としてはDocker互換というだけあって違和感なくDocker Container/Imageを操作することができました。(Docker Desktopより詳細設定が見える、設定できるようになっている印象)
巷で人気が出てきている「Rancher Desktop」はDocker Desktopのunistallが必要?という情報もあり、その辺りの煩わしさがなく、brewコマンドひとつでインストールが完了して基本的な操作を行うことができたのはとても良かったです。

Docker Desktop代替サービスとしては「Rancher Desktop」の評価が高い印象ですし、AWSが発表したOSSの「Finch」も気になるところです。次回以降、この2つのサービスを試していこうと思います。

最後に

GoQSystemでは一緒に働いてくれる仲間を募集中です!

ご興味がある方は以下リンクよりご確認ください。

2
3
0

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
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?