皆さんPodmanやDockerでコンテナを起動したいとき。
使用したいコンテナをどう探しているのでしょう?
Docker Hubでしょうか?
たとえばDockerのOfficialイメージは、こちらがポータルになるかと思います。
しかしたとえば別のレジストリも存在します。
当たり前ですが、Docker Hubとは別のサイトです。
各サイトのWeb検索ページでイメージを探せることは探せますが。あっちこっちに移動する画面遷移が多い気がします。
どうやら、Podmanのコマンドを使用すると、画面遷移なしで、レジストリを直接検索できそうです。
はたしてどのレベルまで探せるのか。確かめてみたいと思います。
Podmanのイメージ検索手順
ずばり。podman searchコマンドで探す感じでしょうか。
rem たとえばnextcloudイメージを探したいとき
podman search nextcloud
docker.ioの結果に加えて、quay.ioにコミットされているイメージも検索できるようです。
podman searchコマンドは、「検索用語」TERMを必ず指定する必要があります。
レジストリに格納されたイメージをすべて一覧表示することはできず、何かキーワードが必要のように思えます。
あら?検索結果の詳細欄(DESCRIPTION)ですが、最後が….になっています。
詳細な説明を見たいとき
DESCRIPTION欄をすべて表示する場合は、次のオプションになります。
rem 詳細欄をすべて表示
podman search --no-trunc nextcloud
正直、イメージの一覧が表示されても、説明欄を見なければ、その違いが全くわかりません。
詳細の大半は英文かと思いますが、最初に一覧表示したい場合、–no-truncオプション付きで表示すると、違いがわかりやすくなります。(説明が記載されていればですが
公式イメージを探すオプション
たとえばWordPressやNextcloud等、開発・管理元が提供している公式イメージを探す場合、次のオプションを使用できるようです。
rem 公式のNextcloudイメージを探したい場合
podman search --filter=is-official nextcloud
公式イメージの正式な名前が得られましたので。こちらの公式イメージを使用してコンテナを作る場合、次のコマンドで作れることがわかります。
rem 公式イメージを使用してコンテナ作成
podman run --pod=nc-pod --name=nc-web docker.io/library/nextcloud
点数(スター)、互換性表示オプション
人気のイメージを探したい場合、このようなオプションが存在するようです。
rem 点数(星、スター)、オフィシャルかどうか、互換性も表示
podman search --compatible nextcloud
STARS欄を見ると、公式イメージは星0個で、別途、人気のイメージが存在することがわかります。
all-in-oneは全部入りでしょうか。35個のスターが付いてることがわかります。
タグ表示はバージョンや実装の違い
イメージのタグは、例えばlatestは最新版を表し、数値はバージョンを表す運用があるかと思います。また複数の実装がある場合、タグの違いは、どの実装を使用するかを指定する意味も持っています。
タグの一覧を表示してみました。
rem タグ表示
podman search --list-tags nextcloud
2022年11月5日現在、たとえばバージョンは10系列と11系列があり、それぞれで「apache」版と「fpm」版が存在することがわかります。
古いバージョンのイメージを使用したい場合、そもそもそのイメージが公開されているか?を調べるのに必要なコマンドかと思います。
現在のdocker searchの実装は、私は実行環境が無くてわからないのですが。
podman searchの実行結果を拝見すると、docker.ioやquay.io等、複数のリポジトリからイメージを検索した結果を返してくれるようです。
また公式イメージがどれか、人気(スター)付きはどれか、互換性はどうか、というオプションを表示したり。
バージョン番号や実装の違いである、タグの一覧を表示する機能が存在します。
本気でコンテナを運用する場合。
Webで検索するだけでは不十分で。
このあたりのコマンド検索方法を抑えておく必要があるのかなと思います。
必須の知識だと思いますです。