ローカル、リモートおよび仮想環境で Docker レジストリを設定する方法

Docker イメージを管理および整理する最も簡単な方法は、Docker レジストリを使用することです。Docker クライアントと透過的に動作する複数のレジストリを設定する場所など、中心となる場所でチーム全体に共有できる、信頼性が高く、安全で、一貫性があり、効率的な Docker イメージへのアクセスが必要です。

JFrog Artifactory には、Docker コンテナー イメージを含むすべてのパッケージ タイプに使用する 3 つの異なるリポジトリ タイプがあります。

  • ローカル リポジトリは、企業内部の Docker イメージを保存する場所です。
  • リモート リポジトリは、 Docker Hub などのリモートで Docker リソースをプロキシするために使用されます。
  • 仮想リポジトリは、複数の Docker レジストリを集約できるため、Docker イメージのプッシュとプルの両方に使用できる単一のエンドポイントが可能になります。これにより、管理者はリポジトリのユーザーが環境内のリポジトリ URL を変更することなく、さまざまな Docker レジストリを管理できます。

クラウドの JFrog プラットフォームの無料トライアルから始めると、数分で無料のローカル、リモート、仮想 Docker レジストリを設定できます。このブログ記事では、その手順を説明します。

事前準備

必要なものは次のとおりです。

ステップ 1 : JFrog Platform にログインし、プラットフォーム構成画面に移動する

JFrog Platform Cloud 無料体験版にサインアップすると、URL とユーザー名が記載されたメールが届きます。パスワードはサインアップのプロセス中に作成されます。環境にログインし、左上にあるプラットフォーム構成画面の歯車アイコンをクリックして、メニュー項目の [リポジトリ] を選択します。

ステップ 2 : ローカル Docker リポジトリを追加する

ローカル Docker リポジトリは、後の手順で作成するカスタム Docker イメージを保存するために使用します。

[リポジトリの作成] メニューを展開し、[ローカル] を選択します。パッケージ タイプにはさまざまな選択肢がありますが、Docker パッケージ タイプを選択します。

リポジトリ キーに docker-dev-local を入力し、残りの設定はデフォルトのままにします。[ローカル リポジトリの作成] ボタンをクリックします。

この時点で Docker クライアントを設定を要求される場合がありますが、この手順では、スキップしてください。

これで、ローカル リポジトリのリストに新しいローカル Docker リポジトリが表示されるはずです。

ステップ 3 : リモート Docker リポジトリを追加する

リモート Docker リポジトリは、Docker Hub またはその他の外部レジストリからのサードパーティ イメージを保存するためのキャッシュ プロキシとして使用します。

前の手順と同様に、[リポジトリの作成] メニューを展開しますが、この手順ではメニュー項目の [リモート] を選択します。ここでも、Docker パッケージ タイプを選択します。リポジトリ キーに docker-hub-remote を入力し、残りの設定はデフォルトのままにします。

プロンプトが表示されたら、クライアントの設定をスキップします。これで、リモート リポジトリ リストに新しいリモート Docker リポジトリが表示されるはずです。

ステップ 4 : 仮想 Docker リポジトリを追加する

仮想 Docker リポジトリはカスタム Docker イメージを作成するときに使用します。このリポジトリは、ローカル Docker リポジトリにプッシュしたり、ローカルまたはリモートの Docker リポジトリからプルしたりできるように設定します。

[リポジトリの作成] メニューを展開し、メニュー項目の [仮想] を選択します。Docker パッケージ タイプを選択します。ここでは次の 3 つのことを行う必要があります。

  1. リポジトリ キーに docker を入力します
  2. 設定ページを下にスクロールし、ステップ 2 と 3 で作成したローカルおよびリモートの Docker リポジトリを追加します (矢印ボタンを使用して、[使用可能なリポジトリ] (画面左側) から [選択したリポジトリ] (画面右側) に移動します)。リスト内のこれらのリポジトリの順序によって、Docker イメージ ビルドに必要な依存関係を解決するために使用する順序が決まります。
  3. ステップ 2 で作成したローカル リポジトリをデフォルトのデプロイメント リポジトリとして選択します。デフォルトのデプロイメント リポジトリは、ビルドした Docker イメージをプッシュするリポジトリです。残りのデフォルト設定はそのままにしておきます。

[仮想リポジトリの作成] ボタンをクリックし、クライアントのセットアップ プロンプトをスキップします。これで、仮想リポジトリ リストに新しい仮想 Docker リポジトリが表示されます。

ステップ 5 : GitHub にあるレポジトリ 「JFrog Docker example」 をフォークする 

このリポジトリには、カスタム イメージをビルドするために使用できるシンプルな Dockerfile が含まれており、作成した Docker リポジトリを使用するために変更が必要な Dockerfile の重要な部分を理解するのに役立ちます。リポジトリをフォークして、独自のコピーを作成して試してみてください。

ステップ 6 : ベース イメージの参照を更新する

フォークしたリポジトリを複製し、IDE またはマシン上のシンテキスト エディターを使用して、Dockerfile の FROM 行を更新し、仮想 Docker リポジトリを参照します。

${SERVER_NAME}.jfrog.io/${VIRTUAL_REPO_NAME}/alpine:3.11.5 から

SERVER_NAME は、環境に割り当てられた URL の最初の部分です (https:// SERVER_NAME.jfrog.io)

VIRTUAL_REPO_NAMEステップ 4 で仮想リポジトリに割り当てた名前 docker です。

ステップ 5 - JFrog Docker サンプル GitHub リポジトリをフォークする

ステップ 7 : カスタム イメージを Docker リポジトリにプッシュする

IDE またはターミナルを使用して、仮想リポジトリにログインし、次のコマンドでカスタム イメージをビルド、タグ付け、プッシュします (ステップ 6 と同様に、SERVER_NAMEVIRTUAL_REPO_NAME を使用します)。

> docker ログイン SERVER_NAME.jfrog.io
> docker build --tag SERVER_NAME.jfrog.io/VIRTUAL_REPO_NAME/my-docker-image:latest 。
> docker push SERVER_NAME.jfrog.io/VIRTUAL_REPO_NAME/my-docker-image:latest

ステップ 8 : Docker レジストリ内のイメージを表示する

左上のナビゲーションを使用して、プラットフォーム構成画面を終了します。

[Artifactory] メニューを展開し、メニュー項目の [Artifacts] を選択します。[Artifacts] の中のツリー表示から、[docker][docker-dev-local]、および [docker-hub-remote] リポジトリを展開して、新しいアーティファクトを表示します。[docker-dev-local] リポジトリ内のイメージをクリックして、詳細を表示します。

Docker レジストリ

Docker レジストリの設定が完了すると、すべての Docker イメージをローカル、リモート、仮想リポジトリに保存できるようになります。

これで完了です。この後はご自身で試してみてください!

JFrog Platform Cloud 無料体験版のお申し込みはこちらから。


記事参照: How to set up a Private, Remote and Virtual Docker Registry


タイトルとURLをコピーしました