{"id":1086,"date":"2019-05-15T13:23:53","date_gmt":"2019-05-15T10:23:53","guid":{"rendered":"https:\/\/artem.services\/?p=1086"},"modified":"2019-05-15T13:25:46","modified_gmt":"2019-05-15T10:25:46","slug":"docker-ecr-login","status":"publish","type":"post","link":"https:\/\/artem.services\/?p=1086","title":{"rendered":"Docker &#8212; ECR login"},"content":{"rendered":"<p>Elastic Container Registry<\/p>\n<p>AIM -> Users<\/p>\n<p>Choose &quot;Programmatic access&quot; -> Next<\/p>\n<p>Choose &quot;Attach existing policies directly&quot; -> &quot;Create Policy&quot;<\/p>\n<p>And add next: <\/p>\n<p>Read all repo:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n{\r\n    &quot;Version&quot;: &quot;2012-10-17&quot;,\r\n    &quot;Statement&quot;: [\r\n        {\r\n            &quot;Sid&quot;: &quot;VisualEditor0&quot;,\r\n            &quot;Effect&quot;: &quot;Allow&quot;,\r\n            &quot;Action&quot;: [\r\n                &quot;ecr:GetLifecyclePolicyPreview&quot;,\r\n                &quot;ecr:GetDownloadUrlForLayer&quot;,\r\n                &quot;ecr:BatchGetImage&quot;,\r\n                &quot;ecr:DescribeImages&quot;,\r\n                &quot;ecr:DescribeRepositories&quot;,\r\n                &quot;ecr:ListTagsForResource&quot;,\r\n                &quot;ecr:ListImages&quot;,\r\n                &quot;ecr:BatchCheckLayerAvailability&quot;,\r\n                &quot;ecr:GetLifecyclePolicy&quot;,\r\n                &quot;ecr:GetRepositoryPolicy&quot;\r\n            ],\r\n            &quot;Resource&quot;: &quot;*&quot;\r\n        },\r\n        {\r\n            &quot;Sid&quot;: &quot;VisualEditor1&quot;,\r\n            &quot;Effect&quot;: &quot;Allow&quot;,\r\n            &quot;Action&quot;: &quot;ecr:GetAuthorizationToken&quot;,\r\n            &quot;Resource&quot;: &quot;*&quot;\r\n        }\r\n    ]\r\n}\r\n<\/pre>\n<p>############### Read only one repo ##################<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n{\r\n    &quot;Version&quot;: &quot;2012-10-17&quot;,\r\n    &quot;Statement&quot;: [\r\n        {\r\n            &quot;Sid&quot;: &quot;VisualEditor0&quot;,\r\n            &quot;Effect&quot;: &quot;Allow&quot;,\r\n            &quot;Action&quot;: [\r\n                &quot;ecr:GetLifecyclePolicyPreview&quot;,\r\n                &quot;ecr:GetDownloadUrlForLayer&quot;,\r\n                &quot;ecr:BatchGetImage&quot;,\r\n                &quot;ecr:DescribeImages&quot;,\r\n                &quot;ecr:DescribeRepositories&quot;,\r\n                &quot;ecr:ListTagsForResource&quot;,\r\n                &quot;ecr:ListImages&quot;,\r\n                &quot;ecr:BatchCheckLayerAvailability&quot;,\r\n                &quot;ecr:GetLifecyclePolicy&quot;,\r\n                &quot;ecr:GetRepositoryPolicy&quot;\r\n            ],\r\n            &quot;Resource&quot;: &quot;arn:aws:ecr:eu-west-1:111111111111:repository\/artem-repo&quot;\r\n        },\r\n        {\r\n            &quot;Sid&quot;: &quot;VisualEditor1&quot;,\r\n            &quot;Effect&quot;: &quot;Allow&quot;,\r\n            &quot;Action&quot;: &quot;ecr:GetAuthorizationToken&quot;,\r\n            &quot;Resource&quot;: &quot;*&quot;\r\n        }\r\n    ]\r\n}\r\n<\/pre>\n<p>eu-west-1 &#8212; region<br \/>\n111111111111 &#8212; registry ID<br \/>\nartem-repo &#8212; repository name<\/p>\n<p>Save &quot;Access key ID&quot; and &quot;Secret access key&quot;<\/p>\n<p>XXXXXXXXXXXXXXXXXXXX<\/p>\n<p>YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt update\r\nsudo apt install make\r\n<\/pre>\n<p>\u0414\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0448\u0430\u0433\u0430 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Docker<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\ncd \/tmp &amp;&amp; git clone https:\/\/github.com\/awslabs\/amazon-ecr-credential-helper.git\r\ncd amazon-ecr-credential-helper &amp;&amp; sudo make docker\r\nsudo cp -a bin\/local\/docker-credential-ecr-login \/usr\/bin\/\r\nmkdir ~\/.docker\/\r\nvim ~\/.docker\/config.json\r\n<\/pre>\n<p>And add next:<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n{\r\n\t&quot;credsStore&quot;: &quot;ecr-login&quot;\r\n}\r\n<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d AWS-Cli<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\nsudo apt install awscli\r\naws configure\r\n<\/pre>\n<p>\u0418 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c &quot;Access key ID&quot; and &quot;Secret access key&quot;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elastic Container Registry AIM -> Users Choose &quot;Programmatic access&quot; -> Next Choose &quot;Attach existing policies directly&quot; -> &quot;Create Policy&quot; And add next: Read all repo: ############### Read only one repo ################## eu-west-1 &#8212; region 111111111111 &#8212; registry ID artem-repo &#8212; repository name Save &quot;Access key ID&quot; and &quot;Secret access key&quot; XXXXXXXXXXXXXXXXXXXX YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY \u0414\u043b\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0448\u0430\u0433\u0430 &hellip; <a href=\"https:\/\/artem.services\/?p=1086\" class=\"more-link\">\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u044c<span class=\"screen-reader-text\"> &quot;Docker &#8212; ECR login&quot;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1086"}],"collection":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1086"}],"version-history":[{"count":3,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1086\/revisions"}],"predecessor-version":[{"id":1089,"href":"https:\/\/artem.services\/index.php?rest_route=\/wp\/v2\/posts\/1086\/revisions\/1089"}],"wp:attachment":[{"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/artem.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}