{"id":262,"date":"2023-04-11T07:00:00","date_gmt":"2023-04-10T22:00:00","guid":{"rendered":"https:\/\/www.gyuroot.com\/wordpress\/?p=262"},"modified":"2023-05-21T19:10:09","modified_gmt":"2023-05-21T10:10:09","slug":"docker","status":"publish","type":"post","link":"https:\/\/www.gyuroot.com\/wordpress\/?p=262","title":{"rendered":"Docker"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_63 counter-hierarchy ez-toc-counter ez-toc-white ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title \" >\ubaa9\ucc28<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88_%EB%B0%A9%EC%8B%9D%EC%9D%98_%EC%9E%A5%EC%A0%90\" title=\"\ucee8\ud14c\uc774\ub108 \ubc29\uc2dd\uc758 \uc7a5\uc810\">\ucee8\ud14c\uc774\ub108 \ubc29\uc2dd\uc758 \uc7a5\uc810<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88\" title=\"\ucee8\ud14c\uc774\ub108\">\ucee8\ud14c\uc774\ub108<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#%EC%9D%B4%EB%AF%B8%EC%A7%80\" title=\"\uc774\ubbf8\uc9c0\">\uc774\ubbf8\uc9c0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC\" title=\"\ub808\uc9c0\uc2a4\ud2b8\ub9ac\">\ub808\uc9c0\uc2a4\ud2b8\ub9ac<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#%EB%8F%84%EC%BB%A4_%EC%9D%B4%EB%AF%B8%EC%A7%80\" title=\"\ub3c4\ucee4 \uc774\ubbf8\uc9c0\">\ub3c4\ucee4 \uc774\ubbf8\uc9c0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#Docker_Command\" title=\"Docker Command\">Docker Command<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#Docker_File\" title=\"Docker File\">Docker File<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\/#docker-composeyml\" title=\"docker-compose.yml\">docker-compose.yml<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n<ul>\n<li>Application\uc744 \ud328\ud0a4\uc9d5 \ud560 \uc218 \uc788\ub294 \ub3c4\uad6c<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88_%EB%B0%A9%EC%8B%9D%EC%9D%98_%EC%9E%A5%EC%A0%90\"><\/span><strong>\ucee8\ud14c\uc774\ub108 \ubc29\uc2dd\uc758 \uc7a5\uc810<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<blockquote class=\"wp-block-quote has-text-color\" style=\"color:rgb(0, 0, 0)\">\n<p>\uc758\uc874\uc131 \ucda9\ub3cc \ubb38\uc81c\ub97c \ud574\uacb0\ud574 \uc900\ub2e4\n\uac1c\ubc1c\uacfc \ubc30\ud3ec \ud658\uacbd\uc744 \uc77c\uce58\uc2dc\ud0a8\ub2e4\n\uc218\ud3c9 \ud655\uc7a5\uc744 \uc27d\uac8c \ud574\uc900\ub2e4\n\uac01 \uc11c\ubc84\uc5d0 \uc0c8\ub85c\uc6b4 \ub0b4\uc6a9\uc744 \ubc30\ud3ec\ud558\uae30 \uc27d\uac8c \ub9cc\ub4e4\uc5b4\uc900\ub2e4<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>VM<\/strong><\/td><td><strong>Container<\/strong><\/td><\/tr><tr><td>Hardware-level \ud504\ub85c\uc138\uc2a4 \uaca9\ub9ac<\/td><td>OS-level \ud504\ub85c\uc138\uc2a4 \uaca9\ub9ac<\/td><\/tr><tr><td>\uac01\uac01 \ub3c5\ub9bd\ub41c OS \uc18c\uc720<\/td><td>\ud558\ub098\uc758 OS \uacf5\uc720<\/td><\/tr><tr><td>\ubd80\ud305\uc2dc\uac04 \uc624\ub798 \uac78\ub9bc<\/td><td>\ubd80\ud305\uc2dc\uac04 \uc9e7\uc74c<\/td><\/tr><tr><td>GB<\/td><td>KBs\/MBs<\/td><\/tr><tr><td>\uc0ac\uc804\uc5d0 \uad6c\ucd95\ub41c vm \ucc3e\uae30 \uc5b4\ub824\uc6c0<\/td><td>\uc0ac\uc804 \uad6c\ucd95\ub41c \ucee8\ud14c\uc774\ub108\ub97c \uc27d\uac8c \uc0ac\uc6a9\ud568<\/td><\/tr><tr><td>VM\uc744 \uc0c8 \ud638\uc2a4\ud2b8\ub85c \uc27d\uac8c \uc774\ub3d9\ud560 \uc218 \uc788\uc74c<\/td><td>\ucee8\ud14c\uc774\ub108\ub294 \uc774\ub3d9\ud558\uc9c0 \uc54a\uace0 \ud30c\uad34\ub418\uace0 \ub2e4\uc2dc \uc0dd\uc131<\/td><\/tr><tr><td>VM \uc0dd\uc131\uc5d0 \uc0c1\ub300\uc801\uc73c\ub85c \uc2dc\uac04\uc774 \uc624\ub798\uac78\ub9bc<\/td><td>\uba87 \ucd08\ub9cc\uc5d0 \ucee8\ud14c\uc774\ub108 \uc0dd\uc131 \uac00\ub2a5<\/td><\/tr><tr><td>\ub354 \ub9ce\uc740 \ub9ac\uc18c\uc2a4 \uc0ac\uc6a9<\/td><td>\ub9ac\uc18c\uc2a4 \uc0ac\uc6a9\ub7c9 \uac10\uc18c<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EC%BB%A8%ED%85%8C%EC%9D%B4%EB%84%88\"><\/span><strong>\ucee8\ud14c\uc774\ub108<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\ucee8\ud14c\uc774\ub108\ub294 \uc55e\uc11c \uc124\uba85\ud55c \ub300\ub85c, \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774 \uc758\uc874\uc131, \ub124\ud2b8\uc6cc\ud06c \ud658\uacbd, \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc5d0 \uad6c\uc560\ubc1b\uc9c0 \uc54a\uace0, \ub3c4\ucee4\ub77c\ub294 \uae30\uc220 \uc704\uc5d0 \uc2e4\ud589\ub420 \uc218 \uc788\ub3c4\ub85d \ub9cc\ub4e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc0c1\uc790\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EC%9D%B4%EB%AF%B8%EC%A7%80\"><\/span><strong>\uc774\ubbf8\uc9c0<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\uc2e4\ud589\ub418\ub294 \ubaa8\ub4e0 \ucee8\ud14c\uc774\ub108\ub294 \uc774\ubbf8\uc9c0\ub85c\ubd80\ud130 \uc0dd\uc131\ub429\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\ub294 \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \ubc0f \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uad6c\uc131\uc744 \ud568\uaed8 \ub2f4\uc544\ub193\uc740 \ud15c\ud50c\ub9bf\uc73c\ub85c, \uc774\ub97c \uc774\uc6a9\ud574 \uc989\uc2dc \ucee8\ud14c\uc774\ub108\ub97c \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\uc774\ubbf8\uc9c0\ub97c \uc774\uc6a9\ud574 \uc5ec\ub7ec \uac1c\uc758 \ucee8\ud14c\uc774\ub108\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \uc774\uc6a9\ud574 \uc55e\uc11c \uc124\uba85\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc218\ud3c9 \ud655\uc7a5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\uc774\ubbf8\uc9c0\ub294 \uae30\ubcf8 \uc774\ubbf8\uc9c0(base image)\ub85c\ubd80\ud130 (\ub9c8\uce58 git\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\ucc98\ub7fc) \ubcc0\uacbd \uc0ac\ud56d\uc744 \ucd94\uac00\/\ucee4\ubc0b\ud574\uc11c \ub610 \ub2e4\ub978 \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e4 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 node.js\ub85c \uc791\uc131\ub41c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc774\ubbf8\uc9c0\ub85c \ub9cc\ub4e4\uace0 \uc2f6\uc740 \uacbd\uc6b0, nodejs \uc774\ubbf8\uc9c0\ub97c \uae30\ubcf8 \uc774\ubbf8\uc9c0\ub85c \uc0bc\uace0 \ub0b4\uac00 \ub9cc\ub4e0 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ucd94\uac00\ud574 \ub123\uace0, \uc774\ubbf8\uc9c0\ud654\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%A0%88%EC%A7%80%EC%8A%A4%ED%8A%B8%EB%A6%AC\"><\/span><strong>\ub808\uc9c0\uc2a4\ud2b8\ub9ac<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">\uc774\ubbf8\uc9c0\ub294 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\uc5d0 \uc800\uc7a5\ub429\ub2c8\ub2e4. \ub300\ud45c\uc801\uc778 \uc774\ubbf8\uc9c0 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\ub85c\ub294 Docker Hub, Amazon ECR\uc774 \uc788\uc2b5\ub2c8\ub2e4. \ub3c4\ucee4 CLI\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \uc774\uc6a9\ud574 \ucee8\ud14c\uc774\ub108\ub97c \uc0dd\uc131\ud560 \ub54c, \ud638\uc2a4\ud2b8 \ucef4\ud4e8\ud130\uc5d0 \uc774\ubbf8\uc9c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4\uba74, \uae30\ubcf8 \ub808\uc9c0\uc2a4\ud2b8\ub9ac\ub85c\ubd80\ud130 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uac8c \ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%EB%8F%84%EC%BB%A4_%EC%9D%B4%EB%AF%B8%EC%A7%80\"><\/span>\ub3c4\ucee4 \uc774\ubbf8\uc9c0<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.gyuroot.com\/wordpress\/wp-content\/uploads\/2023\/05\/image.-7.png\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\"><code>[NAMESPACE]<\/code>\/<code>[IMAGE_NAME]<\/code>:<code>[TAG]<\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Docker_Command\"><\/span>Docker Command<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\"><strong>Images<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker image pull &#91;Image Name]\n\t# docker image \uac00\uc838\uc624\uae30\ndocker images\n\t# docker image list \ud655\uc778\ndocker rmi &#91;image Name] \n\t# docker image \uc0ad\uc81c\n\t# image \uc0ad\uc81c \uc2dc \ubc84\uc804 \uba85\uc2dc\uc548\ud558\uba74 \ucd5c\uc2e0 \ubc84\uc804 \uc0ad\uc81c\ub428<\/code><\/pre>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\"><strong>Container<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker container commit &#91;Container_ID] &#91;image_name]:&#91;tag]\n\ndocker container ls\ndocker container ls -a\n\ndocker container rm `sudo docker container ls -a -q`\n\t# \ucee8\ud14c\uc774\ub108 ID\ub9cc \uc870\ud68c\ud6c4 \ubaa8\ub450 \uc0ad\uc81c \uc9c4\ud589<\/code><\/pre>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\"><strong>docker-compose<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose up # \ucef4\ud3ec\uc988 \ud30c\uc77c\uc5d0 \uc815\uc758\ub41c \ucee8\ud14c\uc774\ub108 \ubc0f \ub124\ud2b8\uc6cc\ud06c\uc640 \uac19\uc740 \uc8fc\ubcc0 \ud658\uacbd \uc0dd\uc131\ndocker-compose down # \uc0dd\uc131\ub41c \ucee8\ud14c\uc774\ub108\uc640 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc885\ub8cc\ndocker-compose -d # \ubc31\uadf8\ub77c\uc6b4\ub4dc\ub85c \uc2e4\ud589\ndocker-compose --no-color #\ud654\uba74 \ucd9c\ub825 \ub0b4\uc6a9\uc744 \ud751\ubc31\uc73c\ub85c \ud568\ndocker-compose --no-deps # \ub9c1\ud06c\ub41c \uc11c\ube44\uc2a4\ub97c \uc2e4\ud589\ud558\uc9c0 \uc54a\uc74c\ndocker-compose --force-recreate # \uc124\uc815 \ub610\ub294 \uc774\ubbf8\uc9c0\uac00 \ubcc0\uacbd\ub418\uc9c0 \uc54a\ub354\ub77c\ub3c4 \ucee8\ud14c\uc774\ub108\ub97c \uc7ac\uc0dd\uc131\ndocker-compose --no-create # \ucee8\ud14c\uc774\ub108\uac00 \uc774\ubbf8 \uc874\uc7ac\ud560 \uacbd\uc6b0 \ub2e4\uc2dc \uc0dd\uc131\ud558\uc9c0 \uc54a\uc74c\ndocker-compose --no-build # \uc774\ubbf8\uc9c0\uac00 \uc5c6\uc5b4\ub3c4 \uc774\ubbf8\uc9c0\ub97c \ube4c\ub4dc\ud558\uc9c0 \uc54a\uc74c\ndocker-compose --build # \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud558\uae30 \uc804\uc5d0 \uc774\ubbf8\uc9c0\ub97c \ube4c\ub4dc\ndocker-compose --absort-on-container-exit #\ucee8\ud14c\uc774\ub108\uac00 \ud558\ub098\ub77c\ub3c4 \uc885\ub8cc\ub418\uba74 \ubaa8\ub4e0 \ucee8\ud14c\uc774\ub108\ub97c \uc885\ub8cc\ndocker-compose -t # \ucee8\ud14c\uc774\ub108\ub97c \uc885\ub8cc\ud560 \ub54c\uc758 \ud0c0\uc784\uc544\uc6c3 \uc124\uc815\ndocker-compose --remove-orphans #\ucef4\ud3ec\uc988 \ud30c\uc77c\uc5d0 \uc815\uc758\ub418\uc9c0 \uc54a\uc740 \uc11c\ube44\uc2a4\uc758 \ucee8\ud14c\uc774\ub108\ub97c \uc0ad\uc81c\ndocker-compose --scale # \ucee8\ud14c\uc774\ub108\uc758 \uc218\ub97c \ubcc0\uacbd<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\ndocker run &#91;Option] &#91;image_Name, ID] &#91;Command] &#91;Parameter]\n\t# docker run --name apache -p 818:80 httpd\ndocker ps\n\t# \uc2e4\ud589\uc911\uc778 \ucee8\ud14c\uc774\ub108\ub9cc \ud655\uc778\ndocker ps -a\n\t# \uc885\ub8cc\ub41c \ucee8\ud14c\uc774\ub108\uae4c\uc9c0 \ud655\uc778\n\n\ndocker logs -f &#91;Container_ID]\n\t# \ub3c4\ucee4 \ucee8\ud14c\uc774\ub108 log \ud655\uc778\ndocker exec -i -t &#91;Container_ID]\n\t# \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80 \ub514\ub809\ud1a0\ub9ac \ub4e4\uc5b4\uac00\uae30\ndocker kill &#91;Container_ID]\ndocker start &#91;Container_ID]\ndocker rm &#91;Container_ID]\n\t# \ucee8\ud14c\uc774\ub108 \uc0ad\uc81c\n\ndocker build --tag &#91;image_name]:&#91;tag] &#91;build_directory]\n\t# DockerFile\uc744 \ucc38\uc870\ud558\uc5ec \uc774\ubbf8\uc9c0\ub97c \uc0dd\uc131\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Docker_File\"><\/span>Docker File<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"has-text-color\" style=\"color:rgb(0, 0, 0)\">Container \uc5d0 \uc124\uce58\ud574\uc57c\ud558\ub294 \ud328\ud0a4\uc9c0, \uc18c\uc2a4\ucf54\ub4dc, \uba85\ub839\uc5b4, \ud658\uacbd\ubcc0\uc218 \uc124\uc815 \ub4f1\uc744 \uae30\ub85d\ud55c \ud558\ub098\uc758 \ud30c\uc77c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>FROM ubuntu:18.04\n# \uc0dd\uc131\ud560 \uc774\ubbf8\uc9c0\uc758 \ubca0\uc774\uc2a4\uac00 \ub420 \uc774\ubbf8\uc9c0(\ubc18\ub4dc\uc2dc \ud55c\ubc88 \uc774\uc0c1 \uc785\ub825)\nLABEL \"purpose\"=\"practice\"\n# \uba54\ud0c0 \ub370\uc774\ud130 \ud45c\uc2dc\nRUN apt-get update\nRUN apt-get install apache2 -y\n# \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e4\uae30 \uc704\ud574 \ucee8\ud14c\uc774\ub108 <strong>\ub0b4\ubd80\uc5d0\uc11c \uba85\ub839\uc5b4<\/strong>\ub97c \uc2e4\ud589\nADD test.html \/var\/www\/html\n# \ud30c\uc77c\uc744 \uc774\ubbf8\uc9c0\uc5d0 \ucd94\uac00\nWORKDIR \/var\/www\/html\n# \uba85\ub839\uc5b4\ub97c \uc2e4\ud589\ud560 \ub514\ub809\ud1a0\ub9ac. (bash shell\uc5d0\uc11c\uc758 cd\uba85\ub839\uc5b4\uc640 \ub3d9\uc77c\ud55c \uae30\ub2a5)\nRUN &#91;\"\/bin\/bash\", \"-c\", \"echo hello &gt; test2.html\"]\nEXPOSE 80\n# \uc774\ubbf8\uc9c0\uc5d0\uc11c \ub178\ucd9c\ud560 \ud3ec\ud2b8\ub97c \uc124\uc815\nCMD apachectl -DFOREGROUND\n# Container \uac00 \uc2dc\uc791\ub420 \ub54c\ub9c8\ub2e4 \uc2e4\ud589\ud560 \uba85\ub839\uc5b4<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"docker-composeyml\"><\/span>docker-compose.yml<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\ud56d\ubaa9<\/td><td>docker run \ucee4\ub9e8\ub4dc\uc758 \ud574\ub2f9 \uc635\uc158 \ub610\ub294 \uc778\uc790<\/td><td>\ub0b4\uc6a9<\/td><\/tr><tr><td>version<\/td><td>&#8211;<\/td><td>\ub3c4\ucee4 \ucef4\ud3ec\uc988\uc758 \ubc84\uc804\uc744 \uae30\uc7ac\ud55c\ub2e4.<\/td><\/tr><tr><td>services<\/td><td>&#8211;<\/td><td>\ucee8\ud14c\uc774\ub108\ub97c \uc815\uc758\ud55c\ub2e4.&nbsp;<strong>(\ucee8\ud14c\uc774\ub108\uc758 \uc9d1\ud569\uccb4\ub97c \uc8fc\ub85c \uc11c\ube44\uc2a4\ub77c\uace0 \ud55c\ub2e4.)<\/strong><\/td><\/tr><tr><td>image<\/td><td>\uc774\ubbf8\uc9c0 \uc778\uc790<\/td><td>\uc0ac\uc6a9\ud560 \uc774\ubbf8\uc9c0\ub97c \uc9c0\uc815<\/td><\/tr><tr><td>networks<\/td><td>\u2014net<\/td><td>\uc811\uc18d\ud560 \ub124\ud2b8\uc6cc\ud06c\ub97c \uc9c0\uc815<\/td><\/tr><tr><td>volumes<\/td><td>-v, \u2014mount<\/td><td>\uc2a4\ud1a0\ub9ac\uc9c0 \ub9c8\uc6b4\ud2b8(\ubcfc\ub968)\ub97c \uc124\uc815<\/td><\/tr><tr><td>ports<\/td><td>-p<\/td><td>\ud3ec\ud2b8 \uc124\uc815<\/td><\/tr><tr><td>environment<\/td><td>-e<\/td><td>\ud658\uacbd\ubcc0\uc218 \uc124\uc815<\/td><\/tr><tr><td>depends_on<\/td><td>\uc5c6\uc74c<\/td><td>\ub2e4\ub978 \uc11c\ube44\uc2a4\uc5d0 \ub300\ud55c \uc758\uc874\uad00\uacc4\ub97c \uc815\uc758<\/td><\/tr><tr><td>restart<\/td><td>\uc5c6\uc74c<\/td><td>\ucee8\ud14c\uc774\ub108 \uc885\ub8cc \uc2dc \uc7ac\uc2dc\uc791 \uc5ec\ubd80\ub97c \uc124\uc815<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>#\uc791\uc131 \uc21c\uc11c\n#\uc8fc\ud56d\ubaa9: \n#\u2194\uc774\ub984: \n#\u2194\u2194\uc124\uc815: \n#(:) \ucf5c\ub860 \ud558\uace0 \ub744\uc5b4\uc4f0\uae30 \ud544\uc218\n# \ub3c4\ucee4\ucef4\ud3ec\uc988 \ubc84\uc804 \uc9c0\uc815 ( \ud56d\uc0c1 \uccab\uc904 )\nversion: \"2.1\"\nservices: #\ucee8\ud14c\uc774\ub108 \uc124\uc815\n  heimdall: #\ucee8\ud14c\uc774\ub108 \uc774\ub984\n    image: linuxserver\/heimdall # \ucee8\ud14c\uc774\ub108\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 base image\n    container_name: heimdall # \ucee8\ud14c\uc774\ub108 \uc774\ub984\n    volumes:\n      - \/home\/user\/appdata\/heimdall:\/config\n    environment:\n      - PUID=1000\n      - PGID=1000\n      - TZ=Europe\/London\n    ports:\n      - 80:80\n      - 443:443\n    restart: unless-stopped<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\ucee8\ud14c\uc774\ub108 \ubc29\uc2dd\uc758 \uc7a5\uc810 \uc758\uc874\uc131 \ucda9\ub3cc \ubb38\uc81c\ub97c \ud574\uacb0\ud574 \uc900\ub2e4 \uac1c\ubc1c\uacfc \ubc30\ud3ec \ud658\uacbd\uc744 \uc77c\uce58\uc2dc\ud0a8\ub2e4 \uc218\ud3c9 \ud655\uc7a5\uc744 \uc27d\uac8c \ud574\uc900\ub2e4 \uac01 \uc11c\ubc84\uc5d0 \uc0c8\ub85c\uc6b4 \ub0b4\uc6a9\uc744 \ubc30\ud3ec\ud558\uae30 \uc27d\uac8c \ub9cc\ub4e4\uc5b4\uc900\ub2e4 VM Container Hardware-level \ud504\ub85c\uc138\uc2a4 \uaca9\ub9ac OS-level \ud504\ub85c\uc138\uc2a4 \uaca9\ub9ac \uac01\uac01 \ub3c5\ub9bd\ub41c OS \uc18c\uc720 \ud558\ub098\uc758 OS \uacf5\uc720 \ubd80\ud305\uc2dc\uac04 \uc624\ub798 \uac78\ub9bc \ubd80\ud305\uc2dc\uac04 \uc9e7\uc74c GB KBs\/MBs \uc0ac\uc804\uc5d0 \uad6c\ucd95\ub41c vm \ucc3e\uae30 \uc5b4\ub824\uc6c0 \uc0ac\uc804 \uad6c\ucd95\ub41c \ucee8\ud14c\uc774\ub108\ub97c \uc27d\uac8c \uc0ac\uc6a9\ud568 &#8230; <a title=\"Docker\" class=\"read-more\" href=\"https:\/\/www.gyuroot.com\/wordpress\/?p=262\" aria-label=\"More on Docker\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":424,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":""},"categories":[18],"tags":[],"_links":{"self":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/262"}],"collection":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=262"}],"version-history":[{"count":2,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/262\/revisions"}],"predecessor-version":[{"id":425,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/262\/revisions\/425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/424"}],"wp:attachment":[{"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=262"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=262"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gyuroot.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}