{"id":3895,"date":"2021-01-11T02:00:22","date_gmt":"2021-01-10T17:00:22","guid":{"rendered":"https:\/\/tech.akat.info\/?p=3895"},"modified":"2021-01-11T02:00:22","modified_gmt":"2021-01-10T17:00:22","slug":"aws-codebuild-%e3%81%a7-docker%e3%82%a4%e3%83%a1%e3%83%bc%e3%82%b8%e3%82%92%e3%83%93%e3%83%ab%e3%83%89%e3%81%97%e3%81%a6%e3%80%81ecr%e3%81%ab%e7%99%bb%e9%8c%b2%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/tech.akat.info\/?p=3895","title":{"rendered":"AWS CodeBuild \u3067 Docker\u30a4\u30e1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\u3057\u3066\u3001ECR\u306b\u767b\u9332\u3059\u308b"},"content":{"rendered":"<p><a href=\"https:\/\/dev.classmethod.jp\/articles\/20170225-codebuild-docker\/\">AWS CodeBuild\u3092\u4f7f\u3063\u3066Docker\u30a4\u30e1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\u3057\u3001Amazon EC2 Container Registry(ECR)\u3078push\u3059\u308b<\/a>\u3092\u8a66\u3057\u3066\u307f\u305f\u3002<\/p>\n<h2>ECR\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b<\/h2>\n<p>\u203bCloud9\u306b\u3066\u64cd\u4f5c\u3057\u3066\u3044\u308b\u3002<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ aws ecr create-repository --repository-name codebuild-docker\r\n<\/pre>\n<h2>CodeCommit\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b<\/h2>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ aws codecommit create-repository --repository-name codebuild-docker\r\n$ git clone https:\/\/git-codecommit.ap-northeast-1.amazonaws.com\/v1\/repos\/codebuild-docker\r\n$ git add -A\r\n$ git commit -m &quot;First Commit&quot;\r\n$ git push\r\n...\r\n * &#x5B;new branch]      master -&gt; master\r\n<\/pre>\n<h2>CodeBuild\u306b\u3066\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/h2>\n<p><a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225-300x180.jpg\" alt=\"\" width=\"300\" height=\"180\" class=\"alignnone size-medium wp-image-3896\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225-300x180.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225-1024x613.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225-768x460.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235225.jpg 1521w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801-300x242.jpg\" alt=\"\" width=\"300\" height=\"242\" class=\"alignnone size-medium wp-image-3897\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801-300x242.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801-1024x828.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801-768x621.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801-1536x1242.jpg 1536w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-10_235801.jpg 1664w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352-300x256.jpg\" alt=\"\" width=\"300\" height=\"256\" class=\"alignnone size-medium wp-image-3898\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352-300x256.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352-1024x872.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352-768x654.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352-1536x1309.jpg 1536w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001352.jpg 1628w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n<a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710-264x300.jpg\" alt=\"\" width=\"264\" height=\"300\" class=\"alignnone size-medium wp-image-3899\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710-264x300.jpg 264w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710-900x1024.jpg 900w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710-768x874.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_001710.jpg 1302w\" sizes=\"(max-width: 264px) 100vw, 264px\" \/><\/a><br \/>\n<a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337-300x95.jpg\" alt=\"\" width=\"300\" height=\"95\" class=\"alignnone size-medium wp-image-3900\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337-300x95.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337-1024x326.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337-768x244.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_002337.jpg 1508w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>codebuild-codebuild-docker-service-role \u3078 \u4ee5\u4e0b\u30dd\u30ea\u30b7\u30fc\u3092\u8ffd\u52a0\u3057\u305f\u3002<br \/>\n\u30fbAWSCodeCommitReadOnly<br \/>\n\u30fbEC2InstanceProfileForImageBuilderECRContainerBuilds<br \/>\n<a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-300x86.jpg\" alt=\"\" width=\"300\" height=\"86\" class=\"alignnone size-medium wp-image-3901\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-300x86.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-1024x294.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-768x221.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-1536x442.jpg 1536w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_010400-2048x589.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h2>Dockerfile,buildspec.yml\u3092\u4f5c\u6210\u3057\u3066\u3001\u30b3\u30df\u30c3\u30c8\u3059\u308b<\/h2>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n$ tree \r\n.\r\n\u251c\u2500\u2500 buildspec.yml\r\n\u251c\u2500\u2500 Dockerfile\r\n\u251c\u2500\u2500 html\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.html\r\n\u2514\u2500\u2500 README.md\r\n\r\n$ cat buildspec.yml\r\nversion: 0.2\r\n\r\nphases:\r\n  pre_build:\r\n    commands:\r\n      - echo Logging in to Amazon ECR...\r\n      - aws ecr get-login-password --region $AWS_DEFAULT_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com\r\n      - IMAGE_TAG=$(echo $CODEBUILD_RESOLVED_SOURCE_VERSION | cut -c 1-7)\r\n  build:\r\n    commands:\r\n      - echo Build started on `date`\r\n      - echo Building the Docker image...\r\n      - docker build -t $IMAGE_REPO_NAME:$IMAGE_TAG .\r\n      - docker tag $IMAGE_REPO_NAME:$IMAGE_TAG $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com\/$IMAGE_REPO_NAME:$IMAGE_TAG\r\n  post_build:\r\n    commands:\r\n      - echo Build completed on `date`\r\n      - echo Pushing the Docker image...\r\n      - docker push $AWS_ACCOUNT_ID.dkr.ecr.$AWS_DEFAULT_REGION.amazonaws.com\/$IMAGE_REPO_NAME:$IMAGE_TAG\r\n\r\n$ cat Dockerfile\r\nFROM nginx\r\nCOPY .\/html \/usr\/share\/nginx\/html\/\r\n\r\n$ git add -A\r\n$ git commit -m &quot;Add Docker files Commit&quot;\r\n$ git push\r\n...\r\n    d088a8e..c91e562  master -&gt; master\r\n<\/pre>\n<h2>\u30d3\u30eb\u30c9\u3092\u958b\u59cb\u3059\u308b<\/h2>\n<p><a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648-300x89.jpg\" alt=\"\" width=\"300\" height=\"89\" class=\"alignnone size-medium wp-image-3902\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648-300x89.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648-1024x305.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648-768x228.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648-1536x457.jpg 1536w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_005648.jpg 1970w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>ECR\u306b\u767b\u9332\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u305f<\/h3>\n<p><a href=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-300x124.jpg\" alt=\"\" width=\"300\" height=\"124\" class=\"alignnone size-medium wp-image-3903\" srcset=\"https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-300x124.jpg 300w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-1024x422.jpg 1024w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-768x316.jpg 768w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-1536x633.jpg 1536w, https:\/\/tech.akat.info\/wp-content\/uploads\/2021\/01\/2021-01-11_015134-2048x843.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>AWS CodeBuild\u3092\u4f7f\u3063\u3066Docker\u30a4\u30e1\u30fc\u30b8\u3092\u30d3\u30eb\u30c9\u3057\u3001Amazon EC2 Container Registry(ECR)\u3078push\u3059\u308b\u3092\u8a66\u3057\u3066\u307f\u305f\u3002 ECR\u306e\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b \u203bCloud9\u306b\u3066\u64cd\u4f5c\u3057\u3066 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27],"tags":[],"_links":{"self":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/3895"}],"collection":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3895"}],"version-history":[{"count":1,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/3895\/revisions"}],"predecessor-version":[{"id":3904,"href":"https:\/\/tech.akat.info\/index.php?rest_route=\/wp\/v2\/posts\/3895\/revisions\/3904"}],"wp:attachment":[{"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3895"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3895"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tech.akat.info\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3895"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}