見出し画像

Podman Desktop: デベロッパー向けのDockerの代替案

皆さん、こんにちは!Vitalify AsiaでBPMとして働いているVy(ヴィー)です!
最近、ホーチミンはすごく暑くなってきましたね。体調を崩さないように、気をつけましょう。
この度、当社のエンジニアさんが「Podman Desktop: デベロッパー向けのDockerの代替案」というテーマで記事を書きましたので、日本語に翻訳して皆さんへ紹介したいと思います。
<元記事(英語)>


はじめに

Podmanとは何ですか?
Podmanはオープンソースのコンテナ、ポッド、およびコンテナイメージ管理エンジンです。これは2017年にRed Hatによって初めてリリースされ、それ以来Dockerに対する人気のある代替手段となっています。

Podmanデスクトップ
Podmanデスクトップは最近リリースされたPodmanのグラフィカルユーザーインターフェイス(GUI)であり、Linux、Windows、およびmacOSなどのさまざまなオペレーティングシステムをサポートしています。これはDocker Desktopに似たユーザーフレンドリーなインターフェイスを提供し、Dockerに精通した開発者がPodmanに移行しやすくしています。

馴染みのあるコマンド
Podmanは、Docker Engineを使用したことがある人にとって馴染みのあるコマンドラインインターフェース(CLI)を提供します。ほとんどのユーザーは、問題なくDockerからPodmanに移行することが出来ます。
以下は、PodmanコマンドとDockerコマンドが類似している例です:

  • podman build:Dockerfileからコンテナイメージをビルドします。

  • podman search:レジストリ上のコンテナイメージを検索します。

  • podman pull:レジストリからコンテナイメージをダウンロードします。

  • podman push:コンテナイメージをレジストリにプッシュします。

  • podman run:イメージからコンテナを実行します。

  • podman start:停止したコンテナを開始します。

  • podman stop:実行中のコンテナを停止します。

  • podman images:システム上のすべてのコンテナイメージを一覧表示します。

  • podman ps:すべての実行中および停止したコンテナを一覧表示します。

  • podman pod create/start/stop:ポッドを管理します...

Nginxコンテナを実行する例:

Podmanの利点

  • デーモンレスアーキテクチャ:Dockerとは異なり、Podmanは中央デーモンなしで動作し、セキュリティを向上させ、システムのオーバーヘッドを削減します。このアーキテクチャでは、各コンテナがPodmanコマンド自体の子プロセスとして実行され、プロセスをより効果的に分離します。

  • Rootlessコンテナ:Podmanは、ルート特権を必要とせずにコンテナを実行できるようにします。セキュリティの観点から重要な利点です。この機能により、特権エスカレーション攻撃のリスクが最小限に抑えられ、開発環境がより安全になります。

  • 効率性:Podmanは、デーモンを使用しないため、Dockerよりも効率的です。

  • パフォーマンス:Podmanは、Dockerよりもスムーズに実行され、より少ないリソースを使用します。

  • Dockerとの互換性:Podman Desktopは、Dockerと完全に互換性があり、Docker CLIコマンドやComposeファイルを修正せずにPodmanで使用できます。この互換性により、DockerからPodmanに切り替えようとする開発者にとって、移行が容易になります。

Podmanの欠点

  • 機能が少ない:現在、Podman DesktopにはDocker Desktopのような拡張機能やプラグインなど、すべての機能が備わっていません。

  • コミュニティが小さい:PodmanはDockerよりも新しいプロジェクトなので、コミュニティが小さく、ドキュメントも少ないです。

結論
Podman Desktopは、コンテナを管理する強力で使いやすいツールとして浮かび上がります。セキュリティと効率的なリソース利用を重視する場合、Podman Desktopを探求する価値は間違いありません。

個人的な経験
Mac M1でPodmanを使用するDevOpsとして、以下のことを観察しました:

  • Podmanは、Dockerよりも軽量であり、ストレージを少なく占有します。

  • Podmanは、イメージのビルドや単一のコンテナの実行に優れています。効率的なリソース利用により、これらのタスクに対して非常に効果的なツールです。

ただし、Podmanにはいくつかの制限もあります:
docker-compose.ymlファイルを実行する際に問題が発生することがあります。これを解決するには、Dockerのdocker-composeをインストールするか、PodmanでKubernetes構成ファイルを使用する必要があります。
注:この記事は、Mac M1でPodmanを使用する個人的な経験を反映しています。あなたのオペレーティングシステムやコンピューター構成によって経験が異なる場合があります。

ご参考
https://podman.io/docs
https://docs.podman.io/en/latest/Commands.html
https://www.redhat.com/architect/podman-container-intro
 


【Vy(ヴィー)のコメント】
Podman Desktopは、個人用コンピュータでコンテナを管理および実行するための強力で使いやすいツールであり、ユーザーに多くの利点をもたらしそうですね。今後の発展に期待しています。興味のある方はお気軽にお問い合わせください!
https://www.vitalify.asia/contact

Vitalify Asia Co., Ltd Vy(ヴィー)



この記事が気に入ったらサポートをしてみませんか?