Docker Hub について調べてみましょう。
今日のこのチュートリアルでは、Docker Hub の使用方法、独自のイメージの作成方法、 Docker Hub へのイメージの公開および Docker Hub からのイメージのプルに Docker Hub がどのように役立つかなど、Docker Hub について学習します。また、時間をかけて、Docker Hub 上の人気のあるリポジトリのいくつかを探索していきます。
前提条件
Docker の基本を理解し、Windows および Linux 環境に精通している必要があります。このチュートリアルでは、Docker Desktop ツールを使用して、継続的な演習、つまりイメージを構築して Docker Hub にプッシュする練習を行います。 Windows および Mac ユーザーは ここ からダウンロードしてインストールできます。Linux ユーザーはこの リンク に従ってください。
Docker Hubとは何ですか?
Docker Hub は、 Docker Inc が提供するリポジトリ レジストリ サービスです。
これにより、Docker Hub との間で Docker イメージをプルおよびプッシュできるようになります。これを GitHub として扱うことができ、ソース コードをフェッチしてプッシュしますが、Docker Hub の場合は、コンテナ イメージをダウンロードまたは公開します。これは、パブリック リポジトリとプライベート リポジトリの両方のタイプのリポジトリを保存するクラウドベースのオンライン リポジトリです。パブリック リポジトリには誰でもアクセスできますが、プライベート リポジトリにはリポジトリの関係する所有者がアクセスできます。また、一定数を超えるリポジトリをプライベートとして保存する場合、それに関連するコストが発生します。
Docker Hubの機能
Docker Hub は、次のいくつかの機能を提供します。
#1. 画像リポジトリ
これは、Docker Hub からコンテナー イメージを見つけて取得するのに役立ちます。
また、イメージをパブリックまたはプライベート リポジトリとして Docker Hub にプッシュするのにも役立ちます。
#2. チームと組織
これにより、ワークグループを作成し、組織内でのみ使用できるプライベート リポジトリとしてプッシュすることができます。このようにして、コンテナ イメージのプライベート リポジトリへのアクセスを管理しました。
#3 。 GitHub と Bitbucket の統合
GitHub や BitBucket などのソース コード リポジトリとの統合が可能になります。
#4. 自動ビルド
ソース コードの変更がソース コード リポジトリにプッシュされている場合、GitHub または BitBucket からコンテナ イメージを自動的に検出して構築し、Docker Hub にプッシュします。
#5. Webhook
Webhook を使用してイメージを正常にプッシュすると、Docker Hub を他のサービスと統合するアクションがトリガーされます。
#6. 公式画像と発行者の画像
dockers が提供する高品質のイメージは公式イメージとみなされ、プルして使用することができます。同様に、外部ベンダーが提供する高品質イメージは発行者イメージ (認定イメージとも呼ばれます) であり、Docker エンタープライズとのサポートと互換性が保証されます。この記事の後半では、さらに認定されたイメージについて説明します。
最初のリポジトリの作成
この手順では、ログイン資格情報を使用して Docker Hub にログインする必要があります。アカウントをお持ちでない場合は、Web ページにある [サインアップ] ボタンをクリックしてアカウントを作成できます。サインインしたら、ようこそページで [リポジトリの作成] をクリックしてリポジトリを作成できます。
- 「リポジトリの作成」をクリックすると、名前を尋ねられるので、リポジトリに名前を付けます。
- 公開またはプライベートから公開オプションを選択します。
ビルド設定を通じて GitHub や BitBucket などのソース コード リポジトリを統合することもできますが、これはオプションであり、後の段階でも行うことができます。
- すべてが完了したら、「作成」をクリックします。
おめでとうございます! 最初のリポジトリが作成されました。次のようになります。
Docker Hub では、無料でプライベート リポジトリを 1 つだけ提供します。ただし、さらにプライベート リポジトリが必要な場合は、アカウントを有料プランにアップグレードできます。
次に、上記でダウンロードしてインストールした Docker Desktop ツール/ターミナルを開き、コマンドを使用して Docker Hub にサインインします。
docker login
画像を探索する
Docker Hub からパブリック リポジトリとイメージを検索するには 2 つの方法があります。つまり、Docker Hub Web サイトから検索するか、コマンドライン ツールを使用して以下のコマンドを実行します。 MySQL リポジトリ イメージを検索するとします。
docker search mysql
画像をダウンロードする
次のように
pull
コマンドを使用して、Docker Hub コマンドからイメージをダウンロードできます。
# docker pull mysql
マシン上にすでに
mysql
イメージがある場合、上記のコマンドはイメージを最新バージョンに自動的に更新します。ここで留意すべき点は、docker search コマンドの出力を見ると、Docker Hub には MySQL のイメージが多数存在しており、これは誰でもイメージをプッシュできるためであるということです。ただし、ユースケースに基づいてどれを使用するかは私たち次第であり、適切なものを選択する必要があります。
bitnami/mysql イメージをプルしたいとします。
# docker pull bitnami/mysql
画像の作成
このプロセスには Dockerfile が必要です。 Dockerfile は、Docker に何をアセンブルするかを指示する取扱説明書と考えることができます。簡単に言うと、これはアセンブル命令、つまりアセンブルするように指示する内容を保持する構成ファイルです。
どのように機能するのでしょうか?
Docker は Dockerfile から命令を読み取り、イメージを自動的に構築します。 Docker イメージは階層化されたファイル システムであり、複数の読み取り専用レイヤーで構成され、Docker イメージの各レイヤーは Dockerfile の命令を表します。以下の手順に従って、Dockerfile を使用してイメージを作成しましょう。
アプリケーション構成を指定する Dockerfile を作成します。
# sudo vim Dockerfile
注 – ファイルの名前は、大文字の「 D 」を付けた Dockerfile にする必要があります。
FROM ubuntu:16.04
MAINTAINER someuser@somedomain.com
RUN apt-get update
RUN apt-get install –y mysql
CMD echo "My first image created."
Dockerfile で使用される重要なキーワードをいくつか見てみましょう
- # 記号を使用して Dockerfile にコメントを追加できます
- 「 FROM 」キーワードは、使用するベースイメージを定義します。
- 「 MAINTAINER 」というキーワードは、そのイメージを維持していく人です。
- 「 RUN 」キーワードは、イメージに指定された命令を実行するために使用されます。この例では、まずシステムを更新し、次に MySQL をインストールします。
- 「 CMD 」キーワードは、コンテナーの起動後にコマンドを実行するために使用されます。
- 「 COPY 」キーワードを使用すると、ホスト OS から Docker コンテナにファイルをコピーできます。
- 「EXPOSE」キーワードは、コンテナがプロセスを実行するポート番号を指定するために使用されます。
以下のコマンドを実行して Docker イメージを構築します
構文:
docker build -t <ユーザー名>/リポジトリ名 。
# docker build -t asadali08537/first-repo .
上記のコマンドでは、イメージの名前は「 」です 。 」は現在の作業ディレクトリを指定します。これは、Docker が docker ファイルの現在のディレクトリを探すように指示します。 「 -t 」は画像のタグ付けに使用されます。次のような出力が表示されます。
次に、docker の run コマンドを使用してイメージを実行して、イメージをテストしましょう。
docker run asadali08527/first-repo
上記のコマンドを実行すると、Docker イメージが必要なすべての更新を含む MySQL をマシンに正常にインストールするように要求され、最後にエコー メッセージも表示されます。
画像のプッシュ
イメージが正常に作成され、実行されたら、push コマンドを使用してそれを Docker Hub にプッシュできます。
docker push asadali08527/first-repo
Docker Hub でイメージ タグとステータスを確認すると、次のようになります。
Docker 認定イメージとは何ですか?
これらは、ベンダーまたは貢献者によってプッシュされた公式イメージです。イメージは、その内容が Docker Hub が提供するルール、標準、および法律に準拠している場合にのみ、Docker Hub によって認証されます。つまり、その画像は特定のベースライン テストに合格する必要があります。
Docker Hub は
<strong>inspectDockerImage</strong>
ツールを提供しており、ベンダーはこれを使用してイメージとプラグインを自己認証できます (通常、ベンダーまたはコントリビュータは、ボリュームとネットワークをログ記録するためのプラグインを公開します)。
注記 –
イメージを Docker 認定として公開するには、まず、 inspectDockerImage ツールを使用して自分でイメージとプラグインを認定し、テストする必要があります。認定とテストが成功すると、送信時に Docker Hub がそれを認定します。コンテンツに非認定環境が必要な場合は、いかなる状況でも認定済みとして公開することはできません。
DockerHub で人気の画像
Docker Hub には、厳選され、最適化されたイメージが多数あります。
これらのイメージの人気は、プル、市場での存在感、評価、満足度スコアなどのさまざまな要因によって決まります。最も人気のあるリポジトリの詳細なリストについては、 Docker Hub Web サイトにアクセスしてください。イメージの使用は OS とそのアーキテクチャにも依存します。プルしたイメージがどの OS とそのアーキテクチャで使用されるかがわかっている場合は、イメージをプルする前に以下の重要な要素を考慮する必要があります。
- タグを使用して特定のバージョン (ほとんどの場合は最新) を探します。
- ダウンロード数と星が最大のものを選択してください。
- 更新を確認します (最後に更新されたとき)。
- 可能であれば、その種類を確認してください。検証済みの発行元のものか、公式 (Docker 認定) のものかどうかを確認してください。
Webhook
Webhook はイベントを処理する Web コールバックであり、アプリケーションが別のアプリケーションにリアルタイム情報を提供する方法です。現在、ほぼすべてのアプリケーションが Webhook 機能を提供しているため、Docker Hub にもこの機能があります。
これは、ユーザー指定のイベントによってトリガーされる HTTP プッシュ API です。 Docker で Webhook を使用して、関連するイメージを使用するアプリケーションまたはサービスに通知できます。一般に、イベントのパイプラインとして Docker を使用して Webhook を構成します。これにより、新しい画像がアップロードされると、テスト アプリケーションがトリガーされて、下線のテスト ケースが実行されます。
テスト結果が成功すると、コンテナーのデプロイメントである別のイベントがトリガーされ、デプロイメントが正常に完了すると、それまでに行われた変更を記録するために他のイベントがトリガーされます。
結論
これで、Docker Hub とイメージの検索、作成、プッシュの方法をかなり理解できたと思います。公開画像をプッシュすると、誰でも閲覧できるようになることに注意してください。
まだ確認していない場合は、この Docker インストール ガイドを確認してください。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)




