すべてのプロダクト
Search
ドキュメントセンター

Container Registry:Dockerの基本操作

最終更新日:Sep 23, 2024

このトピックでは、Dockerで最も一般的な3つの操作、つまりdocker login、docker pull、docker pushについて説明します。 このトピックでは、Container Registry Enterprise Editionインスタンスにログインする方法についても説明します。 Dockerイメージの基本的な操作に慣れたら、Container Registryをより適切に使用できます。

背景情報

Container Registryを使用する前に、Dockerをインストールする必要があります。 Dockerのインストール方法の詳細については、以下のトピックを参照してください。

dockerログイン

次のセクションでは、中国 (杭州) リージョンにあるContainer Registry Enterprise Editionインスタンスにログインする方法の例を示します。

  1. Container Registry Enterprise Editionインスタンスのドメイン名を指定し、ユーザー名とログインパスワードを入力します。

    Container Registry Enterprise Editionインスタンスにログインすると、ログイン成功が表示されます。

    docker login <Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: ****@test.com
    Password:
    Login Succeeded
    説明
  2. config.jsonファイルを表示して、ログイン情報を確認します。

    サンプルコマンド:

    cat ~/.docker/config.json

    期待される出力:

    {
        "auths": {
            "<Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com": {
                "auth": "****"
            }
        }
    }        

ドッカー引き

次のサンプルコードでは、<Name of The Container Registry Enterprise Edition instanc e>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8イメージをダウンロードする方法の例を示します。

サンプルコマンド:

docker pull <Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8

期待される出力:

0.8: Pulling from acs/agent
5a026b6c4964: Already exists
e4b621e8d9cb: Already exists
8bc2fd04bdd4: Pull complete
a977b0087b3e: Pull complete
8f6e00ea13c6: Pull complete
875dd8c9666f: Pull complete
9c07bcabc35d: Pull complete
Digest: sha256:cac848bd31bccf2a041bda7b57e3051341093abde6859df9ee9d332dfec6ddd9
Status: Downloaded newer image for <Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8            
説明
  • Container Registry Enterprise Editionインスタンスへのログインに使用するドメイン名は、イメージへのアクセスに使用するドメイン名と同じである必要があります。 たとえば、<Name of the Container Registry Enterprise Editionインスタンス> -registry.cn-hangzhou.cr.aliyuncs.comドメイン名にログインして <Enterprise Editionインスタンスのnam e>-registry.cn-beijing.cr.aliyuncs.comドメイン名からイメージをプルおよびプッシュすると、クライアントにエラーメッセージが表示されます。 エラーメッセージは、イメージにアクセスする権限がないことを示します。

  • Dockerの公式Webサイトからイメージを取得する場合は、「イメージタグの登録」をご参照ください。

docker imagesコマンドを実行して、プルされたイメージを表示できます。 コマンド出力でリポジトリの場所とイメージタグを確認します。

docker images

期待される出力:

REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
<Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent   0.8                 b9ba5841bdb0        24 hours ago        42.18 MB            

Docker push

オンプレミスのイメージをビルドまたはパッケージ化した後、Container Registry Enterprise Editionインスタンスにプッシュできます。

画像をプッシュする準備は、基本的には画像をプルする準備と同じである。 リポジトリに対する権限があることを確認してください。 それ以外の場合、次のコマンドを実行するとエラーメッセージが返されます。

サンプルコマンド:

docker push <Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8

期待される出力:

The push refers to a repository [<Enterprise Edition instance name>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8]
359f80267111: Layer already exists
7e5fa28d90b8: Layer already exists
b20d7f600f63: Layer already exists
4a159b4f8370: Layer already exists
7c3712ebe877: Layer already exists
d91d130a53aa: Layer already exists
fcad8ad5a40f: Layer already exists
unauthorized: authentication required            

RAMユーザーを使用してContainer Registry Enterprise Editionインスタンスにログインする

  1. RAMユーザーとしてContainer Registryコンソールにログインします。 [アクセス資格情報] ページで、ログインパスワードを設定します。

  2. ログインユーザー名として <RAMユーザー >@< エンタープライズエイリアス> を使用します。

    RAMコンソールでAlibaba Cloudアカウントのエンタープライズエイリアスを設定および表示できます。 使用可能なエンタープライズエイリアスがない場合、エンタープライズエイリアスはデフォルトでAlibaba CloudアカウントのUIDです。

    RAMユーザーがsubaccountで、エンタープライズエイリアスがaccoun-aliasであるとします。 次のサンプルコードは、ログオン例を示しています。

    docker login <Name of the Container Registry Enterprise Edition instance>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: subaccount@account-alias
    Password:
    Login Succeeded