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

Container Registry:Docker の基本操作

最終更新日:Mar 21, 2025

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

背景情報

docker login

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

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

    説明
    • <Container Registry Enterprise Edition インスタンス名>-registry.cn-hangzhou.cr.aliyuncs.comアクセス制御コンテナレジストリ コンソール コマンドを実行して、Enterprise Edition インスタンスにアクセスできます。 ドメイン名の例: 。 Enterprise Edition インスタンスのドメイン名は、 のインスタンスの [アクセス制御] ページで取得できます。

    • ログインパスワードは、Alibaba Cloud アカウントのパスワードとは異なります。 ログインパスワードを設定する必要があります。 ログインパスワードの設定方法については、「Container Registry Enterprise Edition インスタンスのアクセス認証情報を構成する」をご参照ください。

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

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

    サンプルコマンド:

    cat ~/.docker/config.json

    期待される出力:

    {
        "auths": {
            "<Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com": {
                "auth": "****"
            }
        }
    }        

docker pull

docker pull コマンドを実行して、Docker イメージをプルできます。 次の例では、<Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8 イメージがプルされます。

サンプルコマンド:

docker pull <Container Registry Enterprise Edition インスタンスの名前>-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 <Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8            
説明
  • Container Registry Enterprise Edition インスタンスにログインするために使用するドメイン名は、イメージにアクセスするために使用するドメイン名と同じである必要があります。 たとえば、<Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com ドメイン名にログインして、<Enterprise Edition インスタンス名>-registry.cn-beijing.cr.aliyuncs.com ドメイン名からイメージをプルおよびプッシュする場合、クライアントにエラーメッセージが表示されます。 エラーメッセージは、イメージにアクセスする権限がないことを示しています。

  • Docker 公式 Web サイトからイメージをプルする場合は、「イメージタグをサブスクライブする」をご参照ください。

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

docker images

期待される出力:

REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
<Container Registry Enterprise Edition インスタンスの名前>-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 コマンドを実行した後にエラーメッセージが返されます。

サンプルコマンド:

docker push <Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8

期待される出力:

The push refers to a repository [<Container Registry Enterprise Edition インスタンスの名前>-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 ユーザー名>@<エンタープライズ エイリアス> を使用します。

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

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

    docker login <Container Registry Enterprise Edition インスタンスの名前>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: subaccount@account-alias
    Password:
    Login Succeeded