Artifact Registry は、プライベート パッケージと Docker コンテナ イメージを 1 か所で管理できる場所として機能します。
このクイックスタートでは、次の方法について説明します。
- Artifact Registry で Docker リポジトリを作成する
- 認証を設定する
- イメージをリポジトリに push する
- リポジトリからイメージを pull する
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
-
Artifact Registry API を有効にします。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
Cloud プロジェクトに対して課金が有効になっていることを確認します。詳しくは、プロジェクトで課金が有効になっているかどうかを確認する方法をご覧ください。
-
Artifact Registry API を有効にします。
シェルを選択する
このクイックスタートを完了するには、Cloud Shell またはローカルシェルを使用します。
- Cloud Shell
- Cloud Shell は、Google Cloud でホストされているリソースを管理するためのシェル環境です。Docker と一緒に、
gcloud
コマンドライン ツール(Google Cloud の主要なコマンドライン インターフェース)がプリインストールされています。 - ローカルシェル
- ローカルシェルを使用する場合は、環境に Docker と Cloud SDK をインストールする必要があります。
Cloud Shell の起動
Cloud Shell を起動するには、次の手順に従います。
Google Cloud Console に移動します。
Cloud Shell をアクティブにするボタン
をクリックします。
コンソールの下部にあるフレーム内で Cloud Shell セッションが開きます。このシェルで gcloud
コマンドを実行します。
ローカルシェルの設定
Cloud SDK と Docker をインストールするには、次の手順を実行します。
Cloud SDK をインストールします。これには、
gcloud
コマンドライン ツールが含まれています。既存のインストールを更新するには、gcloud components update
コマンドを実行します。Docker をまだインストールしていなければ、インストールします。
Docker がレジストリを操作するには特権アクセスが必要です。Linux または Windows では、Docker コマンドを実行するユーザーを Docker セキュリティ グループに追加します。Docker Desktop は root ユーザーとして仮想マシンで実行されるため、この手順は MacOS では必要ありません。
Linux
Docker セキュリティ グループは
docker
と呼ばれます。ユーザー名を追加するには、次のコマンドを実行します。sudo usermod -a -G docker ${USER}
Windows
Docker セキュリティ グループは
docker-users
と呼ばれます。管理者のコマンド プロンプトからユーザーを追加するには、次のコマンドを実行します。net localgroup docker-users DOMAIN\USERNAME /add
ここで
- DOMAIN は Windows ドメインです。
- USERNAME はユーザー名です。
ログアウトして再度ログインすると、グループ メンバーシップの変更が反映されます。仮想マシンを使用している場合、メンバーシップの変更を有効にするために、仮想マシンの再起動が必要になることがあります。
Docker が稼働中であることを確認するには、現在の時刻と日付を返す次の Docker コマンドを実行します。
docker run busybox date
Docker リポジトリを作成する
このクイックスタートのサンプル イメージを保存する Docker リポジトリを作成します。
コンソール
Cloud Console で [リポジトリ] ページを開きます。
[リポジトリを作成] をクリックします。
リポジトリ名として
quickstart-docker-repo
を指定します。Docker を形式として選択します。
[ロケーション タイプ] で [リージョン] を選択し、ロケーションとして
us-central1
を選択します。[作成] をクリックします。
このリポジトリがリポジトリ リストに追加されます。
gcloud
次のコマンドを実行して、場所
us-central1
に「docker repository」という説明の付いたquickstart-docker-repo
という新しい Docker リポジトリを作成します。gcloud artifacts repositories create quickstart-docker-repo --repository-format=docker \ --location=us-central1 --description="Docker repository"
次のコマンドを実行して、リポジトリが作成されたことを確認します。
gcloud artifacts repositories list
Artifact Registry コマンドの詳細については、gcloud artifacts
コマンドを実行してください。
認証を構成する
イメージを push または pull する前に、gcloud
コマンドライン ツールを使用して Artifact Registry へのリクエストを認証するように Docker を構成します。
リージョン us-central1
の Docker リポジトリに対する認証を設定するには、次のコマンドを実行します。
gcloud auth configure-docker us-central1-docker.pkg.dev
このコマンドにより、Docker 構成が更新されます。Google Cloud プロジェクトの Artifact Registry に接続して、イメージの push と pull ができるようになりました。
その他の認証方法については、認証方法をご覧ください。
push するイメージを取得する
このクイックスタートでは、hello-app
という名前のサンプル イメージを push します。
- イメージを保存するディレクトリに移動します。
次のコマンドを実行して、イメージのバージョン 1.0 を pull します。
docker pull us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
リポジトリにイメージを追加する
Docker イメージを Artifact Registry に push する前に、そのイメージにリポジトリ名でタグ付けする必要があります。
イメージにレジストリ名をタグ付けする
Docker イメージにレポジトリ名をタグ付けすると、イメージを特定の場所に push するように docker push
コマンドが構成されます。このクイックスタートでは、ホストの場所は us-central1-docker.pkg.dev
です。
次のコマンドを実行して、イメージに quickstart-image:tag1
としてタグ付けします。
docker tag us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 \ us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
ここで
- PROJECT は、Google Cloud Console プロジェクト ID です。プロジェクト ID にコロン(
:
)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。 us-central1
はリポジトリのロケーションです。docker.pkg.dev
は Docker リポジトリのホスト名です。quickstart-image
は、リポジトリで使用するイメージ名です。イメージ名はローカル イメージ名とは異なる場合があります。tag1
は Docker イメージに追加するタグです。タグを指定しない場合は、Docker でデフォルトのタグlatest
が適用されます。
これで、作成したリポジトリにイメージを push する準備ができました。
イメージを Artifact Registry に push する
認証を構成してローカル イメージにタグ付けしたら、作成したリポジトリにイメージを push できます。
Docker イメージを push するには、次のコマンドを実行します。
docker push us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
PROJECT を Google Cloud Console プロジェクト ID に置き換えます。プロジェクト ID にコロン(:
)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。
Artifact Registry からイメージを pull する
Artifact Registry からローカルマシンにイメージを pull するには、次のコマンドを実行します。
docker pull us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
PROJECT を Google Cloud Console プロジェクト ID に置き換えます。プロジェクト ID にコロン(:
)が含まれている場合は、ドメインをスコープとするプロジェクトをご覧ください。
出力は次のようになります。
latest: Pulling from [PROJECT-ID]/quickstart-image:tag1 Digest: sha256:70c42... Status: Image is up to date for us-central1-docker.pkg.dev/PROJECT/quickstart-docker-repo/quickstart-image:tag1
クリーンアップ
このクイックスタートで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。
リポジトリを削除する前に、保持するイメージを別の場所に配置してください。
リポジトリを削除するには、次の手順を行います。
コンソール
Cloud Console で [リポジトリ] ページを開きます。
[リポジトリ] リストで、
quickstart-docker-repo
リポジトリを選択します。[削除] をクリックします。
gcloud
quickstart-docker-repo
リポジトリを削除するには、次のコマンドを実行します。
gcloud artifacts repositories delete quickstart-docker-repo --location=us-central1