dockerは、公式のリポジトリにさまざまなイメージが置かれていて、それらの中から、使用用途に合ったイメージをpullして使うことが出来ます。
ただ、数がたくさんあるのと、それぞれのイメージがTagと呼ばれるバージョンを持っていることで、目的に合ったイメージを見つけるのが大変です。
また、コンテナ化されていて、「どのような初期設定でイメージがつくられていて、どのように使えばいいか」が分かりにくいですよね。
ためしに動かしてみるだけなら、どこかのサイトに書いてあったコマンドを打ってみればいいですが、実際に開発に使うにはちょっとした設定変更やリビルドなどが必要になってきます。
そこで今回は、そんなときに使えるTipをご紹介します。
search コマンドの使い方とオプション フォーマット
始めに、dockerのターミナルから使えるコマンドです。
docker search [オプション] [ キーワード ]
のような使い方で検索出来ます。
すると、以下のように検索結果が表示されます。
例えば、mysqlのイメージを検索するには、以下のようにします。
docker search mysql
オプションの使い方ですが、例えば、★3つ以上で、公式のイメージのみを検索するには、以下のようにコマンドを入力します。
docker search --filter "stars=3" --filter "is-official=true" mysql
もっと詳しい使い方は、公式のコマンドリファレンスをご参照。
イメージの検索と初期設定、使い方の確認
上記のコマンドだけだと表示される情報が少ないので、初めて使うイメージだと、よく分からないですよね。そもそもどんなイメージで、なにが出来るのか、どんな初期設定なのか、どんなオプションがあるのか、どんなTAGがあるか、、、、などなど。
これらを確認する方法をご紹介します。
DockerHubの公式サイトに行くと、イメージの検索を行うことが出来ます。
画面上部の赤枠のところに検索したい文字列を入力してEnterを押します。
すると、以下のように検索結果が表示されます。
この中のひとつをクリックすると、そのイメージの詳細を確認することができますよ。
ここでは、環境変数(Environment Variables)など、どのようにカスタマイズするかとか、docker-composeでの記述方法など、そのイメージを有効活用するためのいろいろな情報が載っているので、ぜひ活用しましょう。
上記の詳細ページですが、Tagが載っているイメージとそうでないイメージがあります。詳細説明欄にTag名を入れるか入れないかは任意のようですね。
これだと、タグ指定でイメージを取得したい場合に困るので、Tagの一覧を確認する方法です。
そのイメージにどのようなTagが存在しているかを確認するには、ブラウザで以下のようなURLを入力するとOKです。
https://registry.hub.docker.com/v1/repositories/mysql/tags
上記で言うと「mysql」のところがイメージになっているので、使いたいイメージ名に変更して使ってください。
https://registry.hub.docker.com/v1/repositories/<イメージ名>/tags
すると、こんな感じでjson形式でTag名のリストが返却されます。