全部產品
Search
文件中心

Container Registry:Docker基本操作

更新時間:Aug 28, 2024

本文介紹Docker最常用的三個基本操作docker login、docker pull、docker push以及如何登入企業版執行個體。通過認識鏡像的基本操作,您可以更熟練地使用Container RegistryACR。

背景資訊

在使用Container Registry之前,需要先安裝Docker。關於如何安裝Docker,請參見:

docker login

以阿里雲杭州地區企業版執行個體為例,說明如何登入Docker。

  1. 指明企業版執行個體網域名稱,並輸入您的使用者名稱和登入密碼。

    登入成功之後會顯示Login Succeeded

    docker login <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: ****@test.com
    Password:
    Login Succeeded
    說明
    • 您可以在存取控制頁面擷取企業版執行個體網域名稱。

    • 此處的登入密碼是您在Container Registry控制台設定的,而不是您的阿里雲登入密碼。如果您忘記了鏡像登入密碼,您可以設定訪問憑證。具體操作,請參見配置訪問憑證

  2. 通過查看config.json檔案,確認您的登入資訊。

    執行以下命令。

    cat ~/.docker/config.json

    預期輸出如下。

    {
        "auths": {
            "<企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com": {
                "auth": "****"
            }
        }
    }        

docker pull

以鏡像<企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8為例,下載鏡像的命令如下所示:

執行以下命令。

docker pull <企業版執行個體名稱>-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 <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8            
說明
  • 登入的網域名稱和您操作鏡像的網域名稱必須保持一致。例如只登入<企業版執行個體名稱> -registry.cn-hangzhou.cr.aliyuncs.com的情況下,拉取和推送<企業版執行個體名稱>-registry.cn-beijing.cr.aliyuncs.com的鏡像,用戶端會出現未授權的錯誤資訊。

  • 如果您要下載Docker官方的鏡像,請參見訂閱海外源鏡像

您可以執行docker images命令查看已下載的鏡像(注意倉庫座標和Tag)。

docker images

預期輸出如下。

REPOSITORY                                                     TAG                 IMAGE ID            CREATED             SIZE
<企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent   0.8                 b9ba5841bdb0        24 hours ago        42.18 MB            

docker push

鏡像在本地環境構建或是打包完成之後,就可以上傳到企業版執行個體中。

上傳的準備工作和下載一致,需要確認您對這個倉庫有相應的拉取許可權,否則執行命令後您會看到下面的報錯資訊。

執行以下命令。

docker push <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8

預期輸出如下。

The push refers to a repository [<企業版執行個體名稱>-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企業版執行個體

  1. 使用RAM使用者登入Container Registry控制台,在訪問憑證版面設定登入密碼。

  2. 使用[RAM使用者名稱]@[企業別名]作為使用者名稱進行登入。

    您可以在RAM控制台設定和查看阿里雲賬戶的企業別名。如果沒有企業別名,企業別名預設為阿里雲賬戶的UID。

    假設RAM使用者名稱為subaccount,企業別名為account-alias,則登入樣本如下:

    docker login <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com
    Username: subaccount@account-alias
    Password:
    Login Succeeded