本文介紹Docker最常用的三個基本操作docker login、docker pull、docker push以及如何登錄企業(yè)版實例。通過認識鏡像的基本操作,您可以更熟練地使用容器鏡像服務ACR。
背景信息
在使用容器鏡像服務之前,需要先安裝Docker。關于如何安裝Docker,請參見安裝Docker。
docker login
以阿里云杭州地域企業(yè)版實例為例,說明如何登錄Docker。
指明企業(yè)版實例域名,并輸入您的用戶名和登錄密碼。
登錄成功之后會顯示
Login Succeeded
。docker login <企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com Username: ****@test.com Password: Login Succeeded
通過查看config.json文件,確認您的登錄信息。
執(zhí)行以下命令。
cat ~/.docker/config.json
預期輸出如下。
{ "auths": { "<企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com": { "auth": "****" } } }
docker pull
以鏡像<企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
為例,下載鏡像的命令如下所示:
執(zhí)行以下命令。
docker pull <企業(yè)版實例名稱>-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 <企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
登錄的域名和您操作鏡像的域名必須保持一致。例如只登錄
<企業(yè)版實例名稱> -registry.cn-hangzhou.cr.aliyuncs.com
的情況下,拉取和推送<企業(yè)版實例名稱>-registry.cn-beijing.cr.aliyuncs.com
的鏡像,客戶端會出現未授權的錯誤信息。如果您要下載Docker官方的鏡像,請參見訂閱海外源鏡像。
您可以執(zhí)行docker images
命令查看已下載的鏡像(注意倉庫坐標和Tag)。
docker images
預期輸出如下。
REPOSITORY TAG IMAGE ID CREATED SIZE
<企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent 0.8 b9ba5841bdb0 24 hours ago 42.18 MB
docker push
鏡像在本地環(huán)境構建或是打包完成之后,就可以上傳到企業(yè)版實例中。
上傳的準備工作和下載一致,需要確認您對這個倉庫有相應的拉取權限,否則執(zhí)行命令后您會看到下面的報錯信息。
執(zhí)行以下命令。
docker push <企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com/acs/agent:0.8
預期輸出如下。
The push refers to a repository [<企業(yè)版實例名稱>-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用戶登錄容器鏡像服務企業(yè)版實例
使用RAM用戶登錄容器鏡像服務控制臺,在訪問憑證頁面設置登錄密碼。
使用
[RAM用戶名]@[企業(yè)別名]
作為用戶名進行登錄。您可以在RAM控制臺設置和查看阿里云賬戶的企業(yè)別名。如果沒有企業(yè)別名,企業(yè)別名默認為阿里云賬戶的UID。
假設RAM用戶名為
subaccount
,企業(yè)別名為account-alias
,則登錄示例如下:docker login <企業(yè)版實例名稱>-registry.cn-hangzhou.cr.aliyuncs.com Username: subaccount@account-alias Password: Login Succeeded