AWS ECR login helper 保持永久登入

官方說明:https://docs.aws.amazon.com/zh_tw/AmazonECR/latest/userguide/Registries.html


官方提供三種登入方式
  1. 用 credential-helper
  2. 用 Token + CLI
    1. 新版 get-login-password
    2. 舊版 get-login
  3. 用 Token + HTTP API
新版登入流程
  1. 登入AWS,aws configure
  2. 取得 ECR 臨時密碼,aws ecr get-login-password
  3. 拿臨時密碼登入 Docker,docker login xxxx.dkr.ecr.ap-xxx-1.amazonaws.com (帳號為 AWS)
  4. 在你的 image 上,tag 對應的 repo 位置
  5. Docker Push
權限設定
  • IAM 必須要 掛 ecr.* 權限 (官方教學)
  • Repo 本身權限要開,指到對應 iam user,並且開 CRUD 權限



docker login 後,該 token 只有「12h」時效,所以必須定時 renew,或者每次 push 都要先做一次 login

最方便的方式,直接用 credential-helper 解決


MacOS
  1. 安裝
    $ brew install docker-credential-helper-ecr
    
  2. 修改 ~/.docker/config.json
    1. docker 1.13.0 以上
      "credHelpers": {
          "[aws_account_id].dkr.ecr.[region].amazonaws.com": "ecr-login"
      }
      
    2. docker 舊版
      "credsStore": "ecr-login"
      
  3. docker push
    • 若 aws 已經登入,會自動登入 ecr,做 push 的動作


Docker

  1. 登出 ECR
    docker logout [aws_account_id].dkr.ecr.[region].amazonaws.com
    

AWS ECR login helper 保持永久登入 AWS ECR login helper 保持永久登入 Reviewed by Wild on 12/17/2020 06:00:00 下午 Rating: 5

沒有留言:

沒有Google帳號也可發表意見唷!

技術提供:Blogger.