操作場景
本章節介紹如何獲取長期有效的登錄指令,長期有效登錄指令的有效期為永久。
                  
                    說明
                    l?為保證安全,獲取登錄指令過程建議在開發環境執行。
                    
                  
                  

操作步驟
步驟 1 獲取區域項目名稱、鏡像倉庫地址。
- 登錄SWR管理控制臺。
- 將鼠標移至頁面右上角用戶名稱上,在下拉菜單中,單擊“我的憑證”。
圖 我的憑證


- 在項目列表中找到您的虛擬機的所屬區域及項目:
圖 區域與項目


- 您可以按照獲取到的項目信息拼接鏡像倉庫地址,拼接方式為: registry.區域項目名稱.daliqc.cn
如用戶虛擬機所在區域為蘇州,那么對應的鏡像倉庫地址為:registry.cn-jssz 1.daliqc.cn 。
步驟 2 獲取AK/SK訪問密鑰。

                  
                    注意
                    訪問密鑰即AK/SK(Access Key ID/Secret Access Key),表示一組密鑰對,用于驗證調用API發起請求的訪問者身份,與密碼的功能相似。如果您已有AK/SK,可以直接使用,無需再次獲取。
                    
                  
                  
- 
登錄IAM管理控制臺,將鼠標移到用戶名處,單擊“我的憑證”。 
- 
在左側導航欄中選擇“訪問密鑰”,單擊“新增訪問密鑰”。 
- 
輸入描述信息,單擊“確定”。 
- 
在彈出的提示頁面單擊“立即下載”。 
下載成功后,在“credentials”文件中即可獲取AK和SK信息。
表 credentials文件示例
| User Name | Access Key Id | Secret Access Key | 
|---|---|---|
| a***** | RVHVMX****** | H3nPwzgZ****** | 

                  
                    說明
                    為防止訪問密鑰泄露,建議您將其保存到安全的位置。
                    
                  
                  
步驟 3 登錄一臺Linux系統的計算機,執行如下命令獲取登錄密鑰。
printf "AK" | openssl dgst -binary -sha256 -hmac "SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'
請將AK替換為步驟2 credentials文件的 Access Key Id ,SK替換為步驟2 credentials文件的 Secret Access Key 。
示例:
printf "RVHVMX******" | openssl dgst -binary -sha256 -hmac "H3nPwzgZ******" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'
執行上面的命令后,我們得到的登錄密鑰如下:
cab4ceab4a1545***************

                  
                    說明
                    以上密鑰僅為示例,請以實際獲得的密鑰為準。
                    
                  
                  
步驟 4 使用如下的格式拼接登錄指令。
docker login -u [區域項目名稱] @ [AK] -p [登錄密鑰] [鏡像倉庫地址]
其中,區域項目名稱和鏡像倉庫地址在步驟1中獲取,AK在步驟2中獲取,登錄密鑰為步驟3的執行結果。
示例:
docker login -u cn-jssz1@RVHVMX****** -p cab4ceab4a1545*************** registry.cn-jssz1.daliqc.cn
當顯示“Login Succeeded”,即為登錄成功。

                  
                    說明
                    l?登錄密鑰字符串是經過加密的,無法逆向解密,從-p無法獲取到SK。
l?獲取的登錄指令可在其他機器上使用并登錄。
                    
                  
                  
步驟 5 (可選)當您退出倉庫時,請使用以下命令刪除您的認證信息。
cd /root/.docker/
rm -f config.json
步驟 6 (可選)使用history -c命令清理相關使用痕跡,避免隱私信息泄露。
