{"id":43,"date":"2025-09-29T11:02:33","date_gmt":"2025-09-29T02:02:33","guid":{"rendered":"https:\/\/devserver.kr\/blog\/?p=43"},"modified":"2025-09-29T11:02:33","modified_gmt":"2025-09-29T02:02:33","slug":"ubuntu%ec%97%90%ec%84%9c-docker-%ec%82%ac%ec%9a%a9-%eb%b0%a9%eb%b2%95-%ec%a0%95%eb%a6%ac","status":"publish","type":"post","link":"https:\/\/devserver.kr\/blog\/server\/ubuntu%ec%97%90%ec%84%9c-docker-%ec%82%ac%ec%9a%a9-%eb%b0%a9%eb%b2%95-%ec%a0%95%eb%a6%ac\/","title":{"rendered":"ubuntu\uc5d0\uc11c docker \uc0ac\uc6a9 \ubc29\ubc95 \uc815\ub9ac"},"content":{"rendered":"\n<div class=\"wp-block-jetpack-markdown\"><h1>\uc124\uce58 \ubc29\ubc95 (ubuntu)<\/h1>\n<pre><code>sudo apt update\napt list --upgradable\n\nsudo apt install ca-certificates curl gnupg\n\nsudo install -m 0755 -d \/etc\/apt\/keyrings~\n\ncurl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg | sudo gpg --dearmor -o \/etc\/apt\/keyrings\/docker.gpg\n\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.gpg\n\necho   &quot;deb [arch=&quot;$(dpkg --print-architecture)&quot; signed-by=\/etc\/apt\/keyrings\/docker.gpg] https:\/\/download.docker.com\/linux\/ubuntu \\\n  &quot;$(. \/etc\/os-release &amp;&amp; echo &quot;$VERSION_CODENAME&quot;)&quot; stable&quot; |   sudo tee \/etc\/apt\/sources.list.d\/docker.list &gt; \/dev\/null\n\nsudo apt update\n\nsudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\n\nsudo docker run hello-world\n\ndocker -V\n<\/code><\/pre>\n<h1>sudo \uc5c6\uc774 docker \uc0ac\uc6a9\ud558\ub3c4\ub85d \uc124\uc815<\/h1>\n<pre><code>sudo usermod -aG docker $USER\n<\/code><\/pre>\n<h1>\uc774\ubbf8\uc9c0 \ub2e4\uc6b4\ub85c\ub4dc<\/h1>\n<pre><code>docker pull ubuntu\/bind9\n<\/code><\/pre>\n<h1>\ub2e4\uc6b4\ub85c\ub4dc\ub418\uc5b4\uc788\ub294 image \ubaa9\ub85d<\/h1>\n<pre><code>docker images\n\n; \uc774\ubbf8\uc9c0 \uc0ad\uc81c\ndocker rmi ubuntu\n\n<\/code><\/pre>\n<h1>\uc774\ubbf8\uc9c0\ub97c \uc2e4\ud589\uc2dc\ud0a4\uae30<\/h1>\n<pre><code>docker run ubuntu\n\ndocker run -dit --name test_ubuntu ubuntu\n\n-d \ub370\ubaac, \ubc31\uadf8\ub77c\uc6b4\ub4dc\ub85c \uc2e4\ud589\n\n-it or --interactive --tty\n\uc0c1\ud638\uc791\uc6a9 \ub300\ud654\ud615 \ubaa8\ub4dc\ub85c \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80 \ud130\ubbf8\ub110\uc5d0 \uc811\uc18d\n\ud504\ub85c\uc138\uc2a4\uac00 \uc885\ub8cc\ub418\uc9c0\uc54a\uace0 \ucee8\ud14c\uc774\ub108\uac00 \uc0dd\uc131\ub41c\ub2e4.\n\n-p \ud3ec\ud2b8\ud3ec\uc6cc\ub529 \uc124\uc815\ndocker run -d -p 8080:80 httpd # \ud638\uc2a4\ud2b8 8080\ud3ec\ud2b8\uc640 \ucee8\ud14c\uc774\ub108\uc758 80 \ud3ec\ud2b8\ub97c \uc5f0\uacb0\n\n-v or --volume\n\ud638\uc2a4\ud2b8\uc640 \ucee8\ud14c\uc774\ub108 \uac04\uc758 \ubcfc\ub968 \ub9e4\ud551. \ub370\uc774\ud130\ub97c \uacf5\uc720\ud558\uac70\ub098 \uc800\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \ud568\n-v \ud638\uc2a4\ud2b8\uacbd\ub85c:\ucee8\ud14c\uc774\ub108\uacbd\ub85c \uc774\ubbf8\uc9c0\uc774\ub984\ndocker run -v \/mydata:\/app\/data \uc774\ubbf8\uc9c0\uc774\ub984\n\n-e or --env\n-e \ubcc0\uc218=\uac12\n\ucee8\ud14c\uc774\ub108 \ub0b4\ubd80 \ud504\ub85c\uc138\uc2a4\uac00 \ud574\ub2f9 \ud658\uacbd\ubcc0\uc218 \uc0ac\uc6a9 \uac00\ub2a5\n<\/code><\/pre>\n<h1>\ucee8\ud14c\uc774\ub108 \ubaa9\ub85d<\/h1>\n<pre><code>docker ps\n\uc2e4\ud589\uc911\uc778 \ucee8\ud14c\uc774\ub108 \ubcf4\uc5ec\uc900\ub2e4.\n\ndocker ps -a\n\uc911\uc9c0\ub41c \ucee8\ud14c\uc774\ub108\ub3c4 \ubcf4\uc5ec\uc900\ub2e4.\n<\/code><\/pre>\n<h1>\ucee8\ud14c\uc774\ub108 \uc81c\uc5b4<\/h1>\n<pre><code>docker stop \ucee8\ud14c\uc774\ub108ID or \ucee8\ud14c\uc774\ub108 \uc774\ub984\ndocker start \ucee8\ud14c\uc774\ub108ID or \ucee8\ud14c\uc774\ub108 \uc774\ub984\ndocker restart \ucee8\ud14c\uc774\ub108ID or \ucee8\ud14c\uc774\ub108 \uc774\ub984\ndocker rm \ucee8\ud14c\uc774\ub108ID or \ucee8\ud14c\uc774\ub108 \uc774\ub984\ndocker logs \ucee8\ud14c\uc774\ub108ID or \ucee8\ud14c\uc774\ub108 \uc774\ub984\n<\/code><\/pre>\n<h1>\ucee8\ud14c\uc774\ub108\uc5d0 \uc811\uc18d, \uba85\ub839 \uc2e4\ud589<\/h1>\n<pre><code>docker exec \ucee8\ud14c\uc774\ub108ID\ub610\ub294\uc774\ub984 \uba85\ub839\ubb38\n\n\ud130\ubbf8\ub110 \uc138\uc158\uc744 \uc5f0\uacb0\ud558\uc9c0 \uc54a\uace0 \uc2e4\ud589\uacb0\uacfc\ub9cc \ubcf4\uc5ec\uc900\ub2e4.\n\n<\/code><\/pre>\n<p>docker exec -it \ucee8\ud14c\uc774\ub108ID\ub610\ub294\uc774\ub984 \/bin\/bash\n-it \/bin\/bash \ub97c \uc2e4\ud589\uc2dc\ud0a4\uba74 \ucee8\ud14c\uc774\ub108\uc640 \uc5f0\uacb0\ub41c \uac00\uc0c1 \ud130\ubbf8\ub110\uc744 \uc5f4 \uc218 \uc788\ub2e4.<\/p>\n<h1>docker attach<\/h1>\n<pre><code>docker attach \ucee8\ud14c\uc774\ub108ID\ub610\ub294\uc774\ub984\n\uc2e4\ud589\uc911\uc778 \ucee8\ud14c\uc774\ub108\uc758 \ud130\ubbf8\ub110\uc5d0 \ud604\uc7ac \ud130\ubbf8\ub110 \uc138\uc158\uc744 \uc5f0\uacb0\n<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-43","post","type-post","status-publish","format-standard","hentry","category-server"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/posts\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":1,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/posts\/43\/revisions\/44"}],"wp:attachment":[{"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/media?parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/categories?post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devserver.kr\/blog\/wp-json\/wp\/v2\/tags?post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}