{"componentChunkName":"component---src-templates-post-template-jsx","path":"/history/posts/2021-01-02--003","result":{"data":{"site":{"siteMetadata":{"title":"Blog by Eunyoung","subtitle":"작업 기록 블로그","copyright":"© All rights reserved.","author":{"name":"EunYoung","twitter":"#"},"disqusShortname":"","url":"https://ssongey.github.io"}},"markdownRemark":{"id":"53f35201-fd60-5994-9e2c-3da05f8df5fd","html":"<h2>#. 도커 파일(Docker file)이란?</h2>\n<ul>\n<li>도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지에 대한 설정들을 정의해 주는 곳</li>\n</ul>\n<br>\n<h2>#. 도커 파일 만드는 순서</h2>\n<ol>\n<li>베이스 이미지를 명시해준다. (파일 스냅샷에 해당)</li>\n<li>추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어를 명시 (파일 스냅샷에 해당)</li>\n<li>컨테이너 시작시 실행 될 명령어를 명시 (시작시 실행 될 명령어에 해당)</li>\n</ol>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/66104116bbd13b57537dd50c355885b4/00e65/003-01.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 327px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 138.33333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAYAAABh2p9gAAAACXBIWXMAABJ0AAASdAHeZh94AAAC7klEQVRIx6WVay9jURSGz+8nIfEHfCERPvgiDBPRDC3BmCnq2tadaukNVVpds57FPtk9Ts0wK1nZl7P22uvy7vcEEpFOp2Pj2dmZ5HI52d/fl0KhIAcHB5LNZm19fX3dZetLwKavLy8v9mF2dlamp6dNk8mkTExMyOTkpExNTcna2prZYBs9H0gPqdVq8vT0FK7b7bY5QJ+fn3sdk+D09NRSOz4+lnw+b3p0dCTsn5yc2Jw9vjNHfVv3jZJQmoC6EIlL1dXGpfMvgu39/b0FEOCdDVK6urqy2+7u7kwxcs0pFotyeXkZ2hweHpqDUqlkTpvNptkGhIzs7u7K+Pi4jI2NyerqqiwuLkoqlZLBwUHp7++XmZkZGRgYsKYMDQ1JX1+fjXNzc3a+0Wi8OqQmRIc8Pj5awbmt1WoZPPhOdDc3NwYbImdNpNjhyJ3tcujX8CsSOnQpp9Npq8nGxobktWZ7e3syPz9vaVMC9ldWVmRpaUlub2+7cPguQj6Uy2XD3rluVqpVqWtKWQVwUeFwvr1tWuDV7OxIU5vl0BDr0NXwM+Ic9XTIB0b/Rbi17UWe2IcR0tHPRCXeGOuQTRpC0TOZjNUSaABo1oxxRBAbIcYI3RseHpaRkRHZ2tqyrrIeHR21Tv8t6tAhkVW1q0R1cXFhETkSADqAGaLgiQF0IkdZ+80MHWLsSLOi0KnX61KpVGxe4yJV1sCKi8tvNlzE/J1DInTgNrBGU/L4kGfHQdIE3A7gXQ6N51SJ5IeydEJJ4JfWLK0N+r28bPOcEsfCwoKklLkhDV4OznjfsRHSmLaSQkNrU9E67qyvS15fRnZzU3LaoLzWMq1zCJSD8Cd1jI0wdPhW4JaO35SSvus7Tmp0GX1qP7XjiUTCWNkJNf/QYRQKnQhjR9moZw3pMjfDxtxKWoy+wn3+HMjA2HQ9NkJIEmhU3yDykToboONnEP4C/Pp9VhyJIA8PD68/KVIGhyy+qvgA6JQj8G/6X0X+AEBZP3kAY4V4AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 01\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/66104116bbd13b57537dd50c355885b4/00e65/003-01.png\"\n        srcset=\"/devHistoryBlog/static/66104116bbd13b57537dd50c355885b4/8ff5a/003-01.png 240w,\n/devHistoryBlog/static/66104116bbd13b57537dd50c355885b4/00e65/003-01.png 327w\"\n        sizes=\"(max-width: 327px) 100vw, 327px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<h3>#. 베이스 이미지란?</h3>\n<ul>\n<li>도커 이미지는 여러개의 레이어로 구성되어 있다.</li>\n<li>그 중에서 베이스 이미지는 이 이미지의 기반이 되는 부분이다.</li>\n<li>레이어는 중간 단계의 이미지라고 생각하면 된다.</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/0fb726fdcb867d7d6542669f00e1f265/2ad15/003-02.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 801px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 54.166666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAABJ0AAASdAHeZh94AAABgElEQVQoz41S2W7CQAzM//9aEYgjAZKoJJQckBvIwenuTLvRqk+1ZK3Xa4/H9lqPx0Nut5vc73fqfD4X3/fl/X7LMAx8ez6fvENwvl6v0TZPiFVVlbRtS03TVKIokjiOpSwr6bpOrternM9nBqMgikBhazBTLSToqkmSUKMolqZpxoSyLFlQg0D6vifzv2Ih8XK5UHV1aNe1ZIaCRVEQAO3rMeCEz2QNPxlq2e/31CAIparrkSHYmYxOp5PsgoBxcZzQhw4RQ4aYFS4Ah7ZK4UNFgMGnmZjsOPvfuJEhnKiI2WVZRoaHQ6R8sL8U2A+g3jR+BWx9h+o7WBIQbDAvzCrPc0nUtouilEzZCMT2Z7OZuK4r6/VaptOpLJdL2rZty2KxEMdxJAxDsbAMCFh8TCYMsG2H89GCr7XdbgmIRIB7nkdAAG82G+ahSwIe06MK9lSQL6uVrZJd2X3uCIB3/WXQLmbXGXMzt8+W0Sr+WZ4X0tQN2WBR8GG2tdo2AP8r37loSjRqxNgAAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 02\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/0fb726fdcb867d7d6542669f00e1f265/2ad15/003-02.png\"\n        srcset=\"/devHistoryBlog/static/0fb726fdcb867d7d6542669f00e1f265/8ff5a/003-02.png 240w,\n/devHistoryBlog/static/0fb726fdcb867d7d6542669f00e1f265/e85cb/003-02.png 480w,\n/devHistoryBlog/static/0fb726fdcb867d7d6542669f00e1f265/2ad15/003-02.png 801w\"\n        sizes=\"(max-width: 801px) 100vw, 801px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<br>\n<h2>#. 도커 파일로 이미지 생성</h2>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/97dcc3ccddb4c6c99d52e3c8420d20c0/681f1/003-03.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 899px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 14.583333333333334%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAADCAYAAACTWi8uAAAACXBIWXMAABJ0AAASdAHeZh94AAAAiElEQVQI1z1OywoDIQzc//9NodYa1/qM4GHqpLCHEDLPXDln5DujfAvmnKilglhKCTFG48aY6K0/XKsNqgu9d8OppVdVcUkUOOcgIpjHGN4BSRK89/AvD/IMpZml8RNPwbDQWqsFhRCw98Y6JRcJCrlJUszWZ06QTjV89PH/6sxay24+wU2egT+swOW1Fa4LfAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 03\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/97dcc3ccddb4c6c99d52e3c8420d20c0/681f1/003-03.png\"\n        srcset=\"/devHistoryBlog/static/97dcc3ccddb4c6c99d52e3c8420d20c0/8ff5a/003-03.png 240w,\n/devHistoryBlog/static/97dcc3ccddb4c6c99d52e3c8420d20c0/e85cb/003-03.png 480w,\n/devHistoryBlog/static/97dcc3ccddb4c6c99d52e3c8420d20c0/681f1/003-03.png 899w\"\n        sizes=\"(max-width: 899px) 100vw, 899px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<h3>#1. 도커 파일 생성</h3>\n<ul>\n<li>기본적 토대 </li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"text\"><pre class=\"language-text\"><code class=\"language-text\"># 베이스 이미지를 명시\n# 태그를 안붙이면 자동적으로 가장 최신것으로 다운\nFROM &lt;이미지이름&gt;:&lt;태그&gt;\n\n# 도커이미지가 생성되기 전에 수행할 쉘 명령어\nRUN &lt;command&gt;\n\n# 컨테이너 시작시 실행 될 파일 또는 명령어\nCMD [&quot;excutable&quot;]</code></pre></div>\n<h3>#2. 도커 파일 빌드</h3>\n<ul>\n<li>build 명령어 : 해당 디렉토리 내에서 명시된 도커파일을 찾아 도커 클라이언트에 전달</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/e3829/003-04.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 31.666666666666664%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAIAAABM9SnKAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAvUlEQVQY033QSW7DMAwFUJ3GcU2JkyZ6kO32/oeqHKSoswnx8D+XBF070/6TlqbJfJl9NuA0epq6gONnjouRNbIt5IVsxzIDBs/BU+8HhgHxcRdu3JfqkGyI9co0j6ogOAlPQk8M5O/8C/R0oCXEldRQFyERJCZRlmuYOyX8Q8IIHJ76gq5kOAoeWY7M3zmchc6Mje7owrQRrQiIw//Z6x7rSrH6uvK8R2tqm5Y5pirZYlcs1iXlKoAjvD/sF+1hQ96YODVUAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 04\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/d9199/003-04.png\"\n        srcset=\"/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/8ff5a/003-04.png 240w,\n/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/e85cb/003-04.png 480w,\n/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/d9199/003-04.png 960w,\n/devHistoryBlog/static/22a6be0fb508ea74e82a764e3a170473/e3829/003-04.png 1077w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>\n<ul>\n<li>\n<p>도커 이미지에 이름 부여 (-t : tagging)</p>\n<div class=\"gatsby-highlight\" data-language=\"cmd\"><pre class=\"language-cmd\"><code class=\"language-cmd\">$ docker build -t &lt;나의 도커 아이디&gt;/&lt;저장소/프로젝트&gt;:&lt;버전&gt; ./</code></pre></div>\n</li>\n</ul>\n<p>\n  <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/eb4a1/003-05.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n  \n  <span\n    class=\"gatsby-resp-image-wrapper\"\n    style=\"position: relative; display: block;  max-width: 960px; margin-left: auto; margin-right: auto;\"\n  >\n    <span\n      class=\"gatsby-resp-image-background-image\"\n      style=\"padding-bottom: 34.583333333333336%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAA00lEQVQY033QTY7DIAwFYE4DJGBjbP4TNZ2R5v5XGtqmVTYz4pPlt3gsrLaj719bne8Y959DGntyntCTB7T/U1Ir953aiH1P+x1Scegf5eAAzdPf5TVGzc1IN9K09BmBvA+zD/MLQIdoruBCOUk6DZOazsNKtixzGikm1ckyr4RLDB/uRI5QIXHijWVwbDlQCVxCrBQq0UuheIrSAviwvkBYVE7ulmmksNcpjkKdfYel4TrN5WJG+77CY6rbd8ndSXF1YNsgJo3ReLQezZN9O+P1YL9Ve03f7kXBHgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n    >\n      <img\n        class=\"gatsby-resp-image-image\"\n        style=\"width: 100%; height: 100%; margin: 0; vertical-align: middle; position: absolute; top: 0; left: 0; box-shadow: inset 0px 0px 0px 400px white;\"\n        alt=\"003 05\"\n        title=\"\"\n        src=\"/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/d9199/003-05.png\"\n        srcset=\"/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/8ff5a/003-05.png 240w,\n/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/e85cb/003-05.png 480w,\n/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/d9199/003-05.png 960w,\n/devHistoryBlog/static/d40ac82d92fd3f1ad6d0fc341e893484/eb4a1/003-05.png 1083w\"\n        sizes=\"(max-width: 960px) 100vw, 960px\"\n      />\n    </span>\n  </span>\n  \n  </a>\n    </p>","fields":{"tagSlugs":["/tags/docker/"],"slug":"/history/posts/2021-01-02--003"},"frontmatter":{"title":"도커 이미지 생성","tags":["docker"],"date":"2021-01-02","description":"따라하며 배우는 도커와 CI환경 강의 복습"}}},"pageContext":{"slug":"/history/posts/2021-01-02--003"}},"staticQueryHashes":[]}