本文介紹Docker最常用的三個基本操作docker login、docker pull、docker push以及如何登入企業版執行個體。通過認識鏡像的基本操作,您可以更熟練地使用Container RegistryACR。
背景資訊
在使用Container Registry之前,需要先安裝Docker。關於如何安裝Docker,請參見安裝Docker。
docker login
以阿里雲杭州地區企業版執行個體為例,說明如何登入Docker。
指明企業版執行個體網域名稱,並輸入您的使用者名稱和登入密碼。
登入成功之後會顯示
Login Succeeded
。docker login <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com Username: ****@test.com Password: Login Succeeded
說明您可以在存取控制頁面擷取企業版執行個體網域名稱。
此處的登入密碼是您在Container Registry控制台設定的,而不是您的阿里雲登入密碼。如果您忘記了鏡像登入密碼,您可以設定訪問憑證。具體操作,請參見配置訪問憑證。
通過查看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企業版執行個體
使用RAM使用者登入Container Registry控制台,在訪問憑證版面設定登入密碼。
使用
[RAM使用者名稱]@[企業別名]
作為使用者名稱進行登入。您可以在RAM控制台設定和查看阿里雲賬戶的企業別名。如果沒有企業別名,企業別名預設為阿里雲賬戶的UID。
假設RAM使用者名稱為
subaccount
,企業別名為account-alias
,則登入樣本如下:docker login <企業版執行個體名稱>-registry.cn-hangzhou.cr.aliyuncs.com Username: subaccount@account-alias Password: Login Succeeded