docker searchコマンドの使い方(実例付)CE対応


 docker searchコマンドの使い方の紹介ページです。Docker CE ver17.12.1に対応しております。

 このコマンドは、Docker公式レジストリであるDocker Hub内のdockerイメージを検索することができます。

 レジストリとは、Dockerイメージを共有するための保管場所を指します。

 Docker Hubの中には数多くのDockerイメージがアップされてますが、その中から自分の目的に合ったイメージを探す際に利用します。

 それでは以下で詳細に解説いたします。

 

docker searchコマンドのフォーマットとオプション

フォーマット

docker search [オプション] [ キーワード ]

 

主なオプション一覧

--filter=[ ] フィルターを使用して結果を出力する

--limit=n
結果出力の最大数を指定する(デフォルトは25、最大値は100)

--no-trunc
出力内容を省略しない

■ 本記事の目次に戻る ■

docker searchコマンドの主な使い方

 

キーワードを指定してDocker Hub内のDockerイメージを検索する

 Docker Hub内に存在するDockerイメージから、指定したキーワードを含むものを一覧で出力します。

 キーワードとして「backup」を指定して実行してみます。

$ docker search backup

 以下のようなDockerイメージの一覧が表示されました。

NAME                             DESCRIPTION                                   STARS   OFFICIAL  AUTOMATED
istepanov/backup-to-s3           Container that backups files to Amazon S3 us… 23                 [OK]
schickling/mysql-backup-s3       Backup MySQL to S3 (supports periodic backup… 16                 [OK]
adferrand/backuppc               Docker container with BackupPC version 4.x/3… 12                 [OK]
schickling/postgres-backup-s3    Backup PostgresSQL to S3 (supports periodic … 11                 [OK]
aveltens/wordpress-backup Easily backup and restore your WordPress blo…        9                  [OK]
dinkel/backup File and database  backup service to local Bt…                   7                  [OK]
(以下省略)

 量が多いので全量は掲載しておりません。

 Dockerイメージ名(NAME)の部分、若しくは説明(DESCRIPTION)の部分に、指定したキーワード「backup」が含まれているイメージの一覧が出力されました。

 Dockerイメージの名前のタグ部分は検索結果として表示されませんので、検索対象外のようです。また、大小文字は無視されます。

 docker searchコマンドの検索結果の情報量は、この程度の内容です。Dockerイメージのサマリー情報を参照する目的としては良いと思いますが、対象のDockerイメージについて詳しく調べるという目的には向かないと思います。

 より詳しい内容の検索は、後述するDocker HubのWebサービスをご利用いただければと思います。

■ 本記事の目次に戻る ■

フィルター条件を指定してDockerイメージを検索する

 docker searchコマンドには、3種類のフィルターが用意されてます。

フィルター 説明
is-automated=
<true or false>

Docker Hubの自動構築機能で作成された
Dockerイメージであるか否か

is-official=
<true or false>
各ベンダー公式のDockerイメージである
か否か
stars=<数値> 指定した数値以上のお気に入りの数を持つ

 「is-automated」オプションは、Docker Hubのautomated build機能(自動構築機能)を利用して構築したイメージであるか否かを示しています。

 「is-official」オプションは、CentOSやUbuntu、Apacheなどの各ベンダが公式イメージとして提供しているイメージであるか否かを示しています。

 「stars=<数値>」オプションは、各Dockerイメージに付けられた星(star)の数を指定して検索します。指定した数以上の星の数のDockerイメージが対象となります。星は、Docker Hubのユーザがお気に入りとして指定したことを示す印です。この数が多いということは人気があるDockerイメージの可能性が高いということを示しています。

 

 実際にフィルターを指定してdocker searchコマンドを実行してみます。

 星の数が10以上でキーワード「backup」を含むDockerイメージを検索してみます。

$ docker search --filter stars=10 backup

 結果は以下のとおりです。星の数が10以上のイメージのみ表示されました。

NAME                           DESCRIPTION                                   STARS  OFFICIAL AUTOMATED
istepanov/backup-to-s3         Container that backups files to Amazon S3 us… 23      [OK]
schickling/mysql-backup-s3     Backup MySQL to S3 (supports periodic backup… 16      [OK]
adferrand/backuppc             Docker container with BackupPC version 4.x/3… 12      [OK]
schickling/postgres-backup-s3  Backup PostgresSQL to S3 (supports periodic … 11      [OK]

 次は、星の数が3以上のキーワード「http」を含む公式イメージを検索してみます。

$ docker search --filter stars=3 --filter is-official=true http

 結果は以下のとおりです。

NAME         DESCRIPTION                                    STARS   OFFICIAL AUTOMATED
httpd        The Apache HTTP Server Project                 1583     [OK]
haproxy      HAProxy - The Reliable, High Performance TCP…  918      [OK]
jruby        JRuby (http://www.jruby.org) is an implement…  62       [OK]

 2つ目の「haproxy」の行には「http」のキーワードが見当たりませんが、これは説明部分がカットされて表示されているからです。後述する「--no-trunc」オプションを付けることによって、説明部分が省略なして表示されます。

■ 本記事の目次に戻る ■

Dockerイメージの説明部分を省略しないで結果を表示する

 デフォルトでは、docker searchコマンドの出力のDockerイメージの説明部分(DESCRIPTION)は、最大45文字です。それ以上の文字数の場合はカットされます。

 カット無しで全量表示させたい場合は、「--no-trunc」オプションを付けて実行します。

 前項の例を再度使用します。星の数が3以上のキーワード「http」を含む公式イメージを検索してみます。

$ docker search --filter stars=3 --filter is-official=true http

 結果が出力されましたが、2つ目のDockerイメージhaproxyの行にはhttpの文字が見当たりません。

NAME            DESCRIPTION                                    STARS OFFICIAL AUTOMATED
httpd           The Apache HTTP Server Project                 870   [OK]
haproxy         HAProxy - The Reliable, High Performance T...  624   [OK]
jruby           JRuby (http://www.jruby.org) is an impleme...  49    [OK]

 次に「--no-trunc」オプションを追加で付けて実行してみます。

$ docker search --no-trunc --filter stars=3 --filter is-official=true http

 結果は以下のとおりです。

NAME          DESCRIPTION                                                                                       STARS   OFFICIAL   AUTOMATED
httpd         The Apache HTTP Server Project                                                                    1583     [OK]
haproxy       HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer                                   918      [OK]
jruby         JRuby (http://www.jruby.org) is an implementation of Ruby (http://www.ruby-lang.org) on the JVM.  62       [OK]

 説明(DESCRIPTION)部分が全部出力されて、Dockerイメージ「haproxy」の説明部分にhttpの文字が存在することが確認できました。

■ 本記事の目次に戻る ■

検索結果の行数を指定する

 デフォルトでは、docker searchコマンドの最大出力行数は25行です。

 「--limit」で出力する最大行数を指定することが可能です。指定可能な数値は1~100までとなってます。

 例えば、最大出力行数を80行にして、キーワード「http」を含むDockerイメージを検索する場合は、以下のように指定します。

$ docker search --limit=80 http

 

操作性や情報量をお求めの場合はDocker HubのWebサービスが便利

 コマンド実行で検索する機能としては、docker searchコマンドで十分だと思います。

 もし、操作性や情報量をお求めでしたら、Docker HubのWebサービスを使用した方がよろしいかと思います。

 Docker HubのURL https://hub.docker.com/

 ユーザ登録することで、自分で作成したDockerイメージをアップロードすることも可能になりますが、イメージの検索を行うだけであれば、ユーザ登録の必要はありません。

 CentOSやApache、最近ではMicrosoftなど、数多くの公式イメージもありますので、お時間のあるときにのぞいてみてはいかがでしょうか。

 

  以上でdocker searchコマンドの紹介を終わります。

 ご指摘、ご要望などが御座いましたらコメントいただけるとうれしいです。

 他のDockerコマンドの実例付紹介記事は、本サイト内の別記事「Dockerのコマンドの一覧(ver1.12対応版)(オリジナルな実例付き)」をご参照ください。

 ご訪問ありがとうございました!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください