>>>>>>> >>>>>>> >>>>>>>>>>> aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 250887682577.dkr.ecr.us-east-1.amazonaws.com >>>output WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded
Từ khúc này là bạn đã login thành công vào ECR và bạn có để docker pull và push thoải mái.
Để các hệ thống có CI hay CD tường tác với ECR bạn phải get credential của ECR
aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken'
Giờ chúng ta thử lam bài test với việc curl API để check tag của image.

Docker Token
TOKEN=$(aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken') curl -i -H "Authorization: Basic $TOKEN" https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com/v2/<amazonlinux>/tags/list curl -i -H "Authorization: Basic $TOKEN" https://250887682577.dkr.ecr.us-east-1.amazonaws.com/v2/demo-codebuild/tags/list
Docker Credentials
KHi bạn đã login ecr thành công thì chúng ta sẽ có 1 file json config như sau:
>>>>>> cat .docker/config.json { "auths": { "250887682577.dkr.ecr.us-east-1.amazonaws.com": { "auth": "QVdTOmV5SndZWGxzYjJGa0lqb2lUbmxpTTBsYWVIbGxTWEo0UWxwelJXTmpjREo1WWpkRWNETklSREZ1VjJkMmNubGhRbVpCWkdKSGVEaGhkMWsyZUZCMlJHVkRMM0JPT0M5TVIybzBTRWR0Vm01MlNqQkVXa3BVTlZSQ2MxTlphMmhOUkVWQmFGZ3Jja3hSU2pablZWaHBTSGhJUTFkb1pFVmpTRlZxVGxrMWRHa3hTMlZqUkdOMWFXUTVjV1IwYXpjNGFGUkJXazE1Y2pWSFRYZHlPU3Q2Vmk5VlUwZEJObnBuU3pZMlMwaEhRVVl4Wm5OdVdGSm1jR3RLTWpaTVdpOTNZbGhKVVVSR2VWQnhVUzlMTkZkSWVWYzBiVXR5YlcxRlZsYzJWVWxUTlRjNEswWXdZWFZ4T0hoVk4waHdOWEZEVFVOWU5UbE1hRk40YzNwRlVYazVOa3RsZDFKMmRrSnZUV3RqWjJKWU1XUlNRWEE0UW5SVVZEVnNObWgzTURreEx6WXpWbEZsUm5RMFFtSjZUMEpNZWs5WmVXNVFkUzlQUkVGV1lXc3lWMDlCY0N0NVJrRXZPVlk0YUZkcFRVUk5abFF4WjNSMldrRjJRbVJwVGtWd1pDOUtibmN3WjFOcWFGaHZibHB6VERNdlZESk9WVmR6UldFek9FVjBSVnBsVGtSblZ6VmlOalJzTVZGVmVUaE9lSEpOWmxsQ09VSktOMVY1VmtsWGMyUnRMemN5VGpsUVRrTldjVmRaUVZWTlRXeFNXbUUwUmtRemF6VkJhVEJLTUZWd1QwTkxSVFptTm1scWVYbGtVRkJLTVZrM2VucDNkbFJFY1hWTFNreERia05GYkRWTVNXXXXXXXXXXXXXXXXXXXXXXXXX3lhemg0VFVveE9WWkRlR3BzV21aaFRreHNlbk5vWkU5alQxcEdjWHBQTnpWQk9XTnlOVnBYY0Znd0wzVm9kbWhOT1hSbmJVZE1SMHRrTVc5NFltSnRXVXhPY0ZwUFFVeHZNR0ZKVkRreVdYbGtZVTVoVTBaSFFXMXNja3g0U1VoMlptTkViRWhaZFd4VFNrdFdXRFZzUmtGd016RlZWa2RoTld0SFIzZ3pVMXBXYW5Zdk5USjZTbmQ1YXpFMldrcEhhRGhNWWtGNFMwTnFSMWhwY1N0UGREVjJOMWh4ZFhablNUUlhNMlp2WVRVemRsYzBVMlpNWkZCR1ZsQkxUV2xEU0ZCSFZEUnNjRlZUT1RCcVdqUlpaVEkzVkhacWJGSlFVWGt3V1hSRU1Gb3ZlbU4zYWxkdlZUQnFXV1ZIYzJ4Q2FGaFVXVlZYVFU5NlpITk1WMWRXZEZkc2JrZHZSMlpyWjNBMU0ybGxWbkpDVFROTlNXSXZTMHRJU3pCVE5raDVObFF6VURsWFNEQmhSWEZ5ZWk5dFJHaExhR0oyZFRWMFpsSnNUa1J4U2twSk5Xc3ZUVWxxTTI5NE0xTmtNWGRvV0UxNGJGSlFWMjFETlhCVGVubEhZVFpzTldZMVRFMW5hMHBhWTFKeVNqSm1WbTF3ZW5FeU5tbDRRVXhvVWsxSFZGSXhjak5ETVZkblUxRmhlV3N3WlhWNU0xQkdlRUpsUW5ZdmFsZFBXR0pvU1c1YU9Fd3paME5PWmt4UmVUVjVTalJ3YnpoSGNXdG9SVEprVEdOS05UWTFUMXBLTjNKMGRDOXFPV2x1Tm1weFEydHNiV2R0TlhkdE5sbFpUM2h3Y0VkUlYxcDVZbXRwVnpBcldUUmhhWEpETUhWV1kzbDFObXgwYWxWc1ZWTm1hRU52ZG5kUE9HUXhaazUyUnk4MlJXZHhSVTV3YldoVlVUMDlJaXdpWkdGMFlXdGxlU0k2SWtGUlJVSkJTR2gzYlRCWllVbFRTbVZTZEVwdE5XNHhSeloxY1dWbGExaDFiMWhZVUdVMVZVWmpaVGxTY1Rndk1UUjNRVUZCU0RSM1prRlpTa3R2V2tsb2RtTk9RVkZqUjI5SE9IZGlVVWxDUVVSQ2IwSm5hM0ZvYTJsSE9YY3dRa0ozUlhkSVoxbEtXVWxhU1VGWFZVUkNRVVYxVFVKRlJVUkZXRTFUU1ZwTldHOXRPWGxLU1VSeWQwbENSVWxCTnprd1NXSllPWGx6WVVSSldIZHFTeTlaUTBSa0wxSnBValJoWlc5M2VEZ3ZlVFJGWldsQk5EbDNkelVyVTNWVFdGRk9RMlUxUkdWcVVuTmhiRWh6YlZwUVVHSnRia00xYjJGTk0ybHFXa2s5SWl3aWRtVnljMmx2YmlJNklqSWlMQ0owZVhCbElqb2lSRUZVUVY5TFJWa2lMQ0psZUhCcGNtRjBhVzl1SWpveE5qWTBPVEF4T1RJNGZRPT0=" } } }