{"id":20,"date":"2026-05-07T09:21:30","date_gmt":"2026-05-07T00:21:30","guid":{"rendered":"https:\/\/it-blog.kr\/?p=20"},"modified":"2026-05-08T10:57:01","modified_gmt":"2026-05-08T01:57:01","slug":"docker","status":"publish","type":"post","link":"https:\/\/it-blog.kr\/?p=20","title":{"rendered":"Docker"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Docker\ub294 container \ud615\ud0dc\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95, \ud14c\uc2a4\ud2b8 \ubc0f \ubc30\ud3ec\ud560 \uc218 \uc788\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Container<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">container\ub294 application\uacfc \uadf8 \uc2e4\ud589\uc5d0 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83(code, runtime, library, \uc124\uc815 \ub4f1)\uc744 \ud558\ub098\uc758 \ub3c5\ub9bd\ub41c \ud328\ud0a4\uc9c0\ub85c \ubb36\uc740 \uac83\uc785\ub2c8\ub2e4.<br>\uc27d\uac8c \ub9d0\ud558\uba74, container\ub294 &#8220;\uc774 \uc571\uc740 \uc5b4\ub514\uc11c\ub4e0 \ub611\uac19\uc774 \uc2e4\ud589\ub41c\ub2e4&#8221;\ub97c \ubcf4\uc7a5\ud558\ub294 \uae30\uc220\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">VM vs Container<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">VM\uc740 \uac01 application\ub9c8\ub2e4 \uc644\uc804\ud55c Guest OS\uac00 \ud544\uc694\ud558\uc9c0\ub9cc, container\ub294 Host OS\uc758 kernel\uc744 \uacf5\uc720\ud558\uae30 \ub54c\ubb38\uc5d0 \ud6e8\uc52c \uac00\ubccd\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"649\" height=\"371\" loading=\"lazy\" src=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-1.png\" alt=\"\" class=\"wp-image-27\" srcset=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-1.png 649w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-1-300x171.png 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"624\" height=\"266\" loading=\"lazy\" src=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-2.png\" alt=\"\" class=\"wp-image-30\" srcset=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-2.png 624w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-2-300x128.png 300w\" sizes=\"auto, (max-width: 624px) 100vw, 624px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Container \uc0ac\uc6a9 \uc774\uc720<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\ud658\uacbd \uc77c\uad00\uc131\n<ul class=\"wp-block-list\">\n<li>\ub3d9\uc77c\ud55c \ud658\uacbd\uc5d0\uc11c \uac1c\ubc1c\/\ud14c\uc2a4\ud2b8\/\uc6b4\uc601 \ub418\ubbc0\ub85c Library \ubc84\uc804\uc774\ub098 OS \ucc28\uc774\ub85c \ubc1c\uc0dd\ud558\ub294 \ubb38\uc81c\uac00 \uc5c6\uc74c.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc790\uc6d0 \ud6a8\uc728\n<ul class=\"wp-block-list\">\n<li>Guest OS \uc5c6\uc774 Host OS\uc758 Kernel\uc744 \uacf5\uc720\ud558\uae30 \ub54c\ubb38\uc5d0 \uac19\uc740 \uc11c\ubc84\uc5d0\uc11c VM\ubcf4\ub2e4 \ud6e8\uc52c \ub9ce\uc740 application\uc744 \ub3d9\uc2dc\uc5d0 \uc2e4\ud589\ud560 \uc218 \uc788\uc74c.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ud504\ub85c\uc138\uc2a4 \uaca9\ub9ac\n<ul class=\"wp-block-list\">\n<li>Python2\ub97c \uc0ac\uc6a9\ud558\ub294 application\uacfc Python3\ub97c \uc0ac\uc6a9\ud558\ub294 application\uc744 \ucda9\ub3cc \uc5c6\uc774 \uac19\uc740 \uc11c\ubc84\uc5d0\uc11c \uc2e4\ud589\ud560 \uc218 \uc788\uc74c.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\ube60\ub978 \ubc30\ud3ec\n<ul class=\"wp-block-list\">\n<li>VM\uc5d0 \ube44\ud574 \uc2dc\uc791 \uc2dc\uac04\uc774 \uc6d4\ub4f1\ud788 \ube60\ub984 (few seconds&#8230;)<\/li>\n\n\n\n<li>\ub530\ub77c\uc11c traffic\uc774 \uae09\uc99d\ud558\uba74 container\ub97c \uc989\uc2dc \ubcf5\uc81c\ud574 \uc218\ud3c9 \ud655\uc7a5\ud560 \uc218 \uc788\uc74c.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc774\uc2dd\uc131\n<ul class=\"wp-block-list\">\n<li>Docker Image\ub9cc \uc788\ub2e4\uba74 local, AWS, GCP, Azure \uc5b4\ub514\uc11c\ub4e0 \ub3d9\uc77c\ud558\uac8c \uc2e4\ud589.<\/li>\n\n\n\n<li>Cloud \uc774\uc804\uc774 \ud6e8\uc52c \uc26c\uc6cc\uc9d0.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\uc218\ud3c9 \ud655\uc7a5\n<ul class=\"wp-block-list\">\n<li>traffic\uc5d0 \ub530\ub77c container \uc218\ub97c \uc790\ub3d9\uc73c\ub85c \ub298\ub9ac\uace0 \uc904\uc774\ub294 auto-scaling\uc774 \uac00\ub2a5.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h1 class=\"wp-block-heading\">Docker Architecture<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker\ub294 Client-Server architecture\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc73c\uba70, Client\uc640 Server\uac00 REST API\ub97c \ud1b5\ud574 \ud1b5\uc2e0\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Docker Client\n<ul class=\"wp-block-list\">\n<li>Docker CLI\n<ul class=\"wp-block-list\">\n<li>&#8220;docker&#8221; Command\ub97c \uc758\ubbf8\ud558\uba70, Docker daemon\uc5d0 command\ub97c \uc804\uc1a1\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uae30\ubcf8\uc801\uc73c\ub85c Docker Client\uc640 Docker Host\ub294 \ub3d9\uc77c Host\uc5d0\uc11c \uc2e4\ud589\ub418\uc5b4 Unix Socket\uc73c\ub85c communication\ud558\uc9c0\ub9cc, Docker Client\ub97c \uc6d0\uaca9 Docker Host\uc5d0 TCP\/IP\ub85c \uc5f0\uacb0 \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Docker Host\n<ul class=\"wp-block-list\">\n<li>Docker Daemon (dockerd)\n<ul class=\"wp-block-list\">\n<li>Host Machine\uc5d0\uc11c Background\ub85c \uc2e4\ud589\ub418\ub294 \ud575\uc2ec \uc11c\ubc84 \ud504\ub85c\uc138\uc2a4\uc785\ub2c8\ub2e4.<\/li>\n\n\n\n<li>Client\uc758 \uc694\uccad\uc744 \ubc1b\uc544 \uc544\ub798 \uc790\uc6d0\ub4e4\uc744 \uad00\ub9ac\ud569\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>Images<\/li>\n\n\n\n<li>Containers<\/li>\n\n\n\n<li>Volumes<\/li>\n\n\n\n<li>Networks<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Images\n<ul class=\"wp-block-list\">\n<li>Docker\uc5d0 \ud3ec\ud568\ub41c Local image repository\uc785\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Containers<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Registry\n<ul class=\"wp-block-list\">\n<li>Docker Hub\uc640 \uac19\uc740 Public Repository \ud639\uc740 \ubcc4\ub3c4\uc758 Private Repository\uac00 \ub420 \uc218 \uc788\uc74c.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"679\" height=\"395\" loading=\"lazy\" src=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-3.png\" alt=\"\" class=\"wp-image-44\" srcset=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-3.png 679w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-3-300x175.png 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"541\" loading=\"lazy\" src=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-1024x541.png\" alt=\"\" class=\"wp-image-24\" srcset=\"https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-1024x541.png 1024w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-300x158.png 300w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image-768x405.png 768w, https:\/\/it-blog.kr\/wp-content\/uploads\/2026\/05\/image.png 1233w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker\ub294 container \ud615\ud0dc\uc758 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95, \ud14c\uc2a4\ud2b8 \ubc0f \ubc30\ud3ec\ud560 \uc218 \uc788\ub294 \uc18c\ud504\ud2b8\uc6e8\uc5b4 \ud50c\ub7ab\ud3fc\uc785\ub2c8\ub2e4. Container container\ub294 application\uacfc \uadf8 \uc2e4\ud589\uc5d0 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83(code, runtime, library, \uc124\uc815 \ub4f1)\uc744 \ud558\ub098\uc758 \ub3c5\ub9bd\ub41c \ud328\ud0a4\uc9c0\ub85c \ubb36\uc740 \uac83\uc785\ub2c8\ub2e4.\uc27d\uac8c \ub9d0\ud558\uba74,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-20","post","type-post","status-publish","format-standard","hentry","category-study"],"_links":{"self":[{"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/posts\/20","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it-blog.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=20"}],"version-history":[{"count":12,"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/posts\/20\/revisions"}],"predecessor-version":[{"id":45,"href":"https:\/\/it-blog.kr\/index.php?rest_route=\/wp\/v2\/posts\/20\/revisions\/45"}],"wp:attachment":[{"href":"https:\/\/it-blog.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=20"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it-blog.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=20"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it-blog.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=20"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}