{"id":1752,"date":"2024-11-30T11:55:33","date_gmt":"2024-11-30T02:55:33","guid":{"rendered":"https:\/\/skanto.co.kr\/?p=1752"},"modified":"2024-12-01T10:50:22","modified_gmt":"2024-12-01T01:50:22","slug":"docker-volume-%ec%95%8c%ec%95%84%ec%b1%84%ea%b8%b0","status":"publish","type":"post","link":"https:\/\/skanto.co.kr\/?p=1752","title":{"rendered":"Docker Volume \uc54c\uc544\ucc44\uae30"},"content":{"rendered":"\n<p>Docker Volume\uc744 create, backup, migrate, restore\ud558\ub294 \uc77c\ub828\uc758 \uc608\uc81c\ub97c \uc791\uc131\ud574 \ubd04\uc73c\ub85c\uc368 Docker\ub97c \ud65c\uc6a9\ud560 \ub54c \ub370\uc774\ud130\ub97c \uc601\uad6c\uc801\uc73c\ub85c \uc800\uc7a5\/\uc720\uc9c0\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker\uac00 \ubb34\uc5c7\uc778\uc9c0 \uba3c\uc800 \uac04\ub7b5\ud558\uac8c \uc54c\uc544\ubcf4\uae30<\/h2>\n\n\n\n<p>Docker\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac1c\ubc1c(developing), \ubc30\ud3ec(shipping), \uc2e4\ud589(running)\ud558\ub294 \ud558\ub098\uc758 \uc624\ud508 \ud50c\ub7ab\ud3fc(Open platform)\uc774\ub77c \ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc6b4\uc601 \uc778\ud504\ub77c\ub85c\ubd80\ud130 \uac1c\ub150\uc801\uc73c\ub85c \ubd84\ub9ac\uc2dc\ucf1c \uc90c\uc73c\ub85c\uc368 \ubcf4\ub2e4 \ube60\ub974\uac8c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubc30\ud3ec\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4. Docker\ub97c \ud65c\uc6a9\ud558\uba74 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc744 \uad00\ub9ac\ud558\ub294 \uac83\uacfc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \uc571\uc758 \uc778\ud504\ub77c(infrastructure)\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\uc5b4 \uac1c\ubc1c\uc790\uc5d0\uac8c \uc804\uccb4 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uc0c1\ub2f9\ud788 \uac04\uc18c\ud654 \uc2dc\ucf1c\uc900\ub2e4. \ucf54\ub4dc\ub97c \ubc30\ud3ec, \ud14c\uc2a4\ud2b8, \ubc30\ud3ec\ub97c \ube60\ub974\uac8c \ud574\uc8fc\ub294 Docker \ubc29\ubc95\ub860\uc744 \ud65c\uc6a9\ud558\uba74 \uac1c\ubc1c\uc790\ub294 \ucf54\ub4dc \uc791\uc131\uacfc \uc6b4\uc601\ud658\uacbd\uc5d0\uc11c \uc2e4\ud589 \uc0ac\uc774\uc5d0 \ubc1c\uc0dd\ud558\ub294 \uc77c\ub828\uc758 \uacfc\uc815\uc5d0\uc11c \uc77c\uc815\uc9c0\uc5f0\uc744 \uc904\uc77c \uc218 \uc788\ub2e4. \uc774\ub294 \uc804\uccb4 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \uc18c\uc694\ub418\ub294 \ube44\uc6a9 \ubfd0\ub9cc \uc544\ub2c8\ub77c \uc2dc\uac04\ub3c4 \ud6a8\uc728\uc801\uc73c\ub85c \ud65c\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud574 \uc900\ub2e4.<\/p>\n\n\n\n<p>\uc694\uc57d\ud558\uc790\uba74, Docker\ub294 \ucee8\ud14c\uc774\ub108(Container)\ub97c \uc774\uc6a9\ud558\uc5ec \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc758 \uc81c\uc791, \ubc30\ud3ec, \uc2e4\ud589\uc744 \uc27d\uac8c \ud560 \uc218 \uc788\ub3c4\ub85d \ub9cc\ub4e0 \ud558\ub098\uc758 \ub3c4\uad6c\uc774\ub2e4. \ucee8\ud14c\uc774\ub108\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc678\ubd80\ub85c \ubc30\ud3ec(ship)\ud558\uae30 \uc804\uc5d0 \ud544\uc694\ub85c \ud558\ub294 \ucef4\ud3f0\ub10c\ud2b8\ub4e4 \uc989, \ub77c\uc774\ube0c\ub7ec\ub9ac \ubfd0\ub9cc \uc544\ub2c8\ub77c \uadf8 \uc678 dependency\ub4e4\uc744 \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uacfc \ud568\uaed8 \ud558\ub098\uc758 \ud328\ud0a4\uc9c0\ub85c \ud3ec\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker Volume\uc774\ub780?<\/h2>\n\n\n\n<p>Volume\uc740 Docker \ucee8\ud14c\uc774\ub108\uc5d0 \uc758\ud574 \uc0dd\uc131\ub41c \ub370\uc774\ud130\ub97c \uc9c0\uc18d \uac00\ub2a5\ud558\uac8c \uc720\uc9c0\ub418\ub3c4\ub85d \uad11\ubc94\uc704\ud558\uac8c \ud65c\uc6a9\ub418\uace0 \uc120\ud638\ub418\ub294 \ub9e4\ucee4\ub2c8\uc998\uc774\ub2e4. Docker volume\uc740 \uae30\ubcf8\uc801\uc73c\ub85c \ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc0c1\uc758 \ub85c\uceec \ud3f4\ub354 \ud558\ub098\uc640 Docker \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc5d0 \uc788\ub294 \ud2b9\uc815 \ud3f4\ub354 \uc0ac\uc774\uc5d0 \ub9c1\ud06c(link)\ub97c \uc0dd\uc131\ud55c\ub2e4. \uc774\uc640 \uac19\uc774 \uc5f0\uacb0\ub41c \ud3f4\ub354\ub4e4 \uc0ac\uc774\uc5d0\ub294 \ub370\uc774\ud130 \ubcf5\uc81c\uac00 \uc774\ub8e8\uc5b4\uc9c4\ub2e4 \ub530\ub77c\uc11c, \ud2b9\uc815 \uc2dc\uc810\uc5d0 \ucee8\ud14c\uc774\ub108\uac00 \uc7ac\uc2dc\uc791\ub418\uac70\ub098 \uc0ad\uc81c\ub418\ub354\ub77c\ub3c4 \ucee8\ud14c\uc774\ub108\uac00 \uc0dd\uc131\ud55c \ub370\uc774\ud130\uc5d0\ub294 \uc9c0\uc18d\uc801\uc73c\ub85c \uc811\uadfc\ud560 \uc218 \uc788\ub3c4\ub85d \ud574\uc900\ub2e4.<\/p>\n\n\n\n<p>Volume Driver\ub294 \uc6d0\uaca9 \ud638\uc2a4\ud2b8(remote host) \ub610\ub294 cloud provider\uc5d0 volume\uc744 \uc800\uc7a5\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4. \uc774\ub97c \ud65c\uc6a9\ud558\uba74 volume\uc758 \ub0b4\uc6a9\uc744 \uc554\ud638\ud654\uac00\uac70\ub098 \uadf8 \uc678 \ub2e4\ub978 \uae30\ub2a5\ub4e4\uc744 \ucd94\uac00\ud560 \uc218 \uc788\ub2e4. Volume Driver\ub97c \ud65c\uc6a9\ud558\uc5ec \uc2e0\uaddc volume\uc774 \ucee8\ud14c\uc774\ub108\uc5d0 \uc758\ud574 \uadf8 \ub0b4\uc6a9\uc774 \ubbf8\ub9ac \ucc44\uc6cc\uc9c0\ub3c4\ub85d \ub9cc\ub4e4 \uc218\ub3c4 \uc788\ub2e4.<\/p>\n\n\n\n<p>\ub610\ud55c, Docker volume\uc740 \ucee8\ud14c\uc774\ub108\ub4e4 \uac04\uc5d0 \ub370\uc774\ud130 \uacf5\uc720\ub97c \uac00\ub2a5\ud558\ub3c4\ub85d \ud574\uc900\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud638\uc2a4\ud2b8 \ud30c\uc77c\uc2dc\uc2a4\ud15c\uacfc \ucee8\ud14c\uc774\ub108\uc758 \uac00\uc0c1(virtual) \ud30c\uc77c\uc2dc\uc2a4\ud15c\uac04\uc758 \uc5f0\uacb0(link)<\/h2>\n\n\n\n<p>\uc790, \uadf8\ub7fc \ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc5d0 \ud3f4\ub354\/\ud30c\uc77c\uc744 \uc0dd\uc131\ud558\uace0 \uc774\ub97c docker \ucee8\ud14c\uc774\ub108 \ub0b4\uc758 \ud3f4\ub354\uc640 \uc5f0\uacb0\uc2dc\ucf1c\ubcf4\uc790. \uadf8\ub9ac\uace0 \uc5b4\ub5bb\uac8c \ub3d9\uc791\ud558\ub294\uc9c0 \uc2dc\ub098\ub9ac\uc624\ub97c \uc774\uc6a9\ud558\uc5ec \ud14c\uc2a4\ud2b8 \ud574 \ubcf4\uc790.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uba3c\uc800 \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80 \ud3f4\ub354\uc758 \ub370\uc774\ud130\uac00 \uc720\uc9c0\ub418\ub85c\ub85d \ub85c\uceec \uc2dc\uc2a4\ud15c \uc0c1\uc5d0 \ud3f4\ub354\ub97c \uc0dd\uc131\ud55c\ub2e4. \ub370\ubaa8\ub97c \uc704\ud55c \uc608\uc81c\uc5d0\uc11c\ub294 \ub85c\uceec \uc2dc\uc2a4\ud15c \ud3f4\ub354\ub97c <code>$(pwd)\/docker\/vol<\/code> \ub85c \ud55c\ub2e4. \uc774\uc81c \uc544\ub798\uc758 \ucf54\ub4dc\ub97c \uc2e4\ud589\ud574 \ubcf4\uc790.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name volnginx -v &lt;absolute_path&gt;\/docker\/vol\/:\/usr\/share\/nginx\/html -p 8080:80 -d nginx<\/code><\/pre>\n\n\n\n<p>&#8211;<em>&#8211; name<\/em>: \uc2e4\ud589\ud560 \ucee8\ud14c\uc774\ub108\uc758 \uc774\ub984 \uc9c0\uc815<br><em>-v<\/em>: volume\uc744 \ub9c8\uc6b4\ud2b8\ud558\uba70 \ud638\uc2a4\ud2b8\uc758 <em>\/docker\/vol\/<\/em>&nbsp;\ud3f4\ub354\ub97c \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc758&nbsp;<em>\/usr\/share\/nginx\/html<\/em> \ud3f4\ub354\ub85c \ub9c1\ud06c\ud55c\ub2e4.<br><em>-p<\/em>: \ucee8\ud14c\uc774\ub108\uc758 \ud3ec\ud2b8(80)\ub97c \ud638\uc2a4\ud2b8 \ud3ec\ud2b8(8080)\ub85c \ud37c\ube14\ub9ac\uc2dc(publish) \ud55c\ub2e4.<br><em>-d<\/em>: docker \ucee8\ud14c\uc774\ub108\ub97c \ubc31\uadf8\ub77c\uc6b4\ub4dc\uc5d0\uc11c detached mode\ub85c \uc2e4\ud589\ud55c\ub2e4.<\/p>\n\n\n\n<p>\uc774\ub807\uac8c \ud558\uba74 \ub450 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc744 \uc5f0\uacb0\ub41c\ub2e4. \ucee8\ud14c\uc774\ub108\uac00 nginx \ucee8\ud14c\uc774\ub108\uc774\ubbc0\ub85c static \ud398\uc774\uc9c0 2\uac1c\ub97c \ud638\uc2a4\ud2b8 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc5d0 \uc0dd\uc131\ud574 \ubcf4\uc790.<\/p>\n\n\n\n<p><em>docker\/vol\/index.html(\ud638\uc2a4\ud2b8 \ud30c\uc77c\uc2dc\uc2a4\ud15c)<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello this is index.html<\/code><\/pre>\n\n\n\n<p><em>docker\/vol\/hello.html (<em>\ud638\uc2a4\ud2b8 \ud30c\uc77c\uc2dc\uc2a4\ud15c<\/em>)<\/em>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Hello this is hello.html<\/code><\/pre>\n\n\n\n<p>\ucee8\ud14c\uc774\ub108\ub85c \uc811\uc18d\ud55c \ud6c4 \uacf5\uc720\ub41c \ud30c\uc77c\/\ud3f4\ub354\uc758 \ub0b4\uc6a9\uc744 \ud655\uc778\ud574 \ubcf4\uc790. \uc544\ub798\uc758 \uc2a4\uc0f7\uacfc \uac19\uc774 2\uac1c\uc758 \ud30c\uc77c\uc774 \uc0dd\uc131\ub418 \uc788\uc74c\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it volnginx \/bin\/bash\ncd \/usr\/share\/nginx\/html\nls -al<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"293\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-1.png\" alt=\"\" class=\"wp-image-1754\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-1.png 575w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-1-300x153.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-1-530x270.png 530w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/figure>\n\n\n\n<p>\uc774\uc81c \ube0c\ub77c\uc6b0\uc800\ub97c \uc774\uc6a9\ud558\uc5ec <em>localhost:8080<\/em>&nbsp;\uc640&nbsp;<em>localhost:8080\/hello.html<\/em>\uc744 \uc811\uc18d\ud574 \ubcf4\uc790. \uc544\ub798 \uc2a4\uc0f7\uacfc \uac19\uc774 \ud638\uc2a4\ud2b8 \ud30c\uc77c\uc2dc\uc2a4\ud15c\uc5d0 \uc0dd\uc131\ud55c \ud30c\uc77c\uc758 \ub0b4\uc6a9\uc744 \ucee8\ud14c\uc774\ub108\uc5d0\uc11c \ub3d9\uc791\ud558\ub294 nginx\ub85c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"390\" height=\"141\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-2.png\" alt=\"\" class=\"wp-image-1755\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-2.png 390w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-2-300x108.png 300w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"394\" height=\"130\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-3.png\" alt=\"\" class=\"wp-image-1756\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-3.png 394w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-3-300x99.png 300w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/figure>\n\n\n\n<p>\ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c <em>hello.html<\/em>\ud30c\uc77c\uc744 \uc0ad\uc81c\ud558\uace0 <em>localhost:8080\/hello.html<\/em>\ub85c \ub2e4\uc2dc \uc811\uc18d\ud558\uba74&nbsp;\ud398\uc774\uc9c0\uac00 \uc5c6\ub2e4\uace0 \ub098\uc62c \uac83\uc774\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc81c docker \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc758 \uacf5\uc720\ub41c \ud3f4\ub354\uc5d0\uc11c \ud30c\uc77c \ud558\ub098\ub97c \uc0dd\uc131\ud574\ubcf4\uc790. \uadf8\ub7ec\uba74 \ub3d9\uc77c\ud55c \ud30c\uc77c\uc774 \ud638\uc2a4\ud2b8 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc758 \uacf5\uc720 \ud3f4\ub354\uc5d0 \uc0dd\uc131\/\uc720\uc9c0\ub428\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"170\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-4.png\" alt=\"\" class=\"wp-image-1757\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-4.png 581w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-4-300x88.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"152\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-5.png\" alt=\"\" class=\"wp-image-1758\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-5.png 570w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-5-300x80.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/figure>\n\n\n\n<p>\ucee8\ud130\uc774\ub108\uc5d0\uac8c \uacf5\uc720\ub41c \ud3f4\ub354\uc758 \uad8c\ud55c\uc744 read-only \uad8c\ud55c(permission)\uc73c\ub85c \uc8fc\ub824\uba74 \uc544\ub798\uc758 \uba85\ub839\uacfc \uac19\uc774 \ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name volnginx -v &lt;absolute_path&gt;\/docker\/vol\/:\/usr\/share\/nginx\/html:ro -p 8080:80 -d nginx<\/code><\/pre>\n\n\n\n<p>\uc9c0\uae08\uae4c\uc9c0\ub294 MountType: bind\uc5d0 \ud574\ub2f9\ud558\ub294 \uc608\uc81c\ub85c \ud638\uc2a4\ud2b8\uc758 \ud30c\uc77c\uc2dc\uc2a4\ud15c\uc744 docker \ucee8\ud14c\uc774\ub108\ub85c \ub9c8\uc6b4\ud2b8 \ud55c\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \uba85\ub839\uc744 \ud1b5\ud574 \uadf8 \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker inspect volnginx<\/code><\/pre>\n\n\n\n<p>\ucd9c\ub825\ub418\ub294 \ub0b4\uc6a9 \uc911 <em>Mounts<\/em> \uac1d\uccb4 \ud56d\ubaa9\uc5d0\uc11c volume \uc124\uc815\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n\"Mounts\": &#91;\n            {\n                \"Type\": \"bind\",\n                \"Source\": \"&lt;directory&gt;\/docker\/vol\/\",\n                \"Destination\": \"\/usr\/share\/nginx\/html\",\n                \"Mode\": \"\",\n                \"RW\": true,\n                \"Propagation\": \"rprivate\"\n            }\n        ]\n...<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Named Docker Volume \uc0dd\uc131<\/h2>\n\n\n\n<p>\ub514\ub809\ud130\ub9ac\ub97c \uc0dd\uc131\ud558\uace0 \uc2f6\uc9c0 \uc54a\uac70\ub098 \uc774\ubbf8 \uc0ac\uc6a9\ud558\ub358 \ub514\ub809\ud130\ub9ac\uac00 \uc788\ub2e4\uba74 \ub2e4\uc74c\uacfc \uac19\uc774 \uac04\ub2e8\ud558\uac8c volume\uc744 \uc0dd\uc131\ud558\uc5ec \ucee8\ud14c\uc774\ub108\uc5d0 attach\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker volume create hello\ndocker run --name mynginx1 -v hello:\/&lt;directory inside the container&gt;:ro  -p 8080:80 -d nginx<\/code><\/pre>\n\n\n\n<p>\uc5ec\uae30\uc11c <em>hello<\/em>\ub77c\ub294 volume \ud558\ub098\ub97c \ub9cc\ub4e4\uace0 nginx \uc774\ubbf8\uc9c0 \uc778\uc2a4\ud134\uc2a4\ub97c \uc2e4\ud589\ud560 \ub54c attach \uc2dc\ucf30\ub2e4.<\/p>\n\n\n\n<p>\ucee8\ud14c\uc774\ub108 \uc774\ubbf8\uc9c0\uc758 \ub514\ub809\ud130\ub9ac\ub294 \ud638\uc2a4\ud2b8 \ud30c\uc77c\uc2dc\uc2a4\ud15c\uc5d0\uc11c \uc544\ub798 \uc704\uce58\uc5d0 \uc0dd\uc131\ub418\uc9c0\ub9cc \uc5ec\uae30\uc5d0 \uc811\uadfc\ud558\ub294 \uac83\uc744 \ucd94\ucc9c\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/var\/lib\/docker\/volumes\/&lt;vol_name&gt;\/_data<\/code><\/pre>\n\n\n\n<p><strong>\ucc38\uace0:<\/strong> \ub9cc\uc57d Docker Desktop\uc5d0\uc11c \uc791\uc5c5\uc744 \ud55c\ub2e4\uba74 \uc774 \ub514\ub809\ud130\ub9ac\uc5d0\ub294 \uc811\uadfc\uc774 \ubd88\uac00\ub2a5\ud558\ub2e4. \uc65c\ub0d0\ud558\uba74 Docker Desktop\uc740 VM \ub0b4\ubd80\uc5d0\uc11c \ub3d9\uc791\ud558\uace0 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4. \ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc5d0\uc11c Docker\uc758 volume \ub514\ub809\ud130\ub9ac\uc5d0 \uc811\uadfc\ud558\ub294 \uac83\uc774 \ucd94\ucc9c\ud558\uc9c0 \uc54a\ub294\ub2e4\uace0 \ud588\ub2e4. \uc65c\ub0d0\ud558\uba74 Docker\uac00 volume storage\ub97c \ubcf4\uc774\uc9c0 \uc54a\ub294 \ub514\ub809\ud130\ub9ac(hidden directory, <code><em>\/var\/lib\/docker\/volumes<\/em><\/code>\u00a0on Linux)\ub85c \uad00\ub9ac\ud558\uba70 \ub9cc\uc57d \uc9c1\uc811 \uc811\uadfc\uc744 \ud5c8\uc6a9\ud560 \uacbd\uc6b0 \ub370\uc774\ud130\uc5d0 \uc190\uc0c1\uc774 \ubc1c\uc0dd\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4.<em>(sudo \uc635\uc158\uc744 \ud65c\uc6a9\ud558\uc5ec \uc811\uadfc)<\/em> \ub530\ub77c\uc11c, Docker volume\uc5d0 \uc811\uadfc\ud558\ub824\uba74 \ucee8\ud14c\uc774\ub108\ub97c \uc2e4\ud589\ud560 \ub54c -v \uc635\uc158\uc73c\ub85c volume\uc744 \ub9c8\uc6b4\ud2b8\ud558\uace0 \ucee8\ud14c\uc774\ub108 \ub0b4\ubd80\uc5d0 \uc811\uc18d\ud55c \ud6c4 \uc811\uadfc\ud558\ub294 \uac83\uc744 \ucd94\ucc9c\ud55c\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc640 \uac19\uc740 \uc608\uc81c\ub294 MountType: volume \ud0c0\uc785\uc758 \uc608\uc81c\uc774\ub2e4. \uc544\ub798\uc640 \uac19\uc774 \uba85\ub839\uc744 \ud1b5\ud574 \uadf8 \ub0b4\uc6a9\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker inspect mynginx1<\/code><\/pre>\n\n\n\n<p>\ucd9c\ub825\ub418\ub294 \ub0b4\uc6a9 \uc911 <em>Mounts<\/em> \uac1d\uccb4 \ud56d\ubaa9\uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>...\n\"Mounts\": &#91;\n            {\n                \"Type\": \"volume\",\n                \"Name\": \"hello\",\n                \"Source\": \"\/var\/lib\/docker\/volumes\/hello\/_data\",\n                \"Destination\": \"\/usr\/share\/nginx\/html\",\n                \"Driver\": \"local\",\n                \"Mode\": \"ro\",\n                \"RW\": false,\n                \"Propagation\": \"\"\n            }\n        ]\n...<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Named Docker Volume\uc758 \uae30\ubcf8 \uc704\uce58 \ubcc0\uacbd\ud558\uae30<\/h3>\n\n\n\n<p>Docker Volume\uc744 <em>docker volume create hello<\/em> \uc640 \uac19\uc774 \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc73c\ub85c \uc0dd\uc131\ud558\uba74 hello\ub77c\ub294 volume\uc5d0 link\ub41c \ub514\ub809\ud130\ub9ac\ub294 Default\ub85c <em>\/var\/lib\/docker\/volumes\/hello\/_data<\/em> \ub85c \uc9c0\uc815\ub41c\ub2e4. \uc55e\uc5d0\uc11c \uc124\uba85\ud588\ub4ef\uc774 \uc774 \ub514\ub809\ud130\ub9ac\ub85c\ub294 \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4.<\/p>\n\n\n\n<p>Volume\uc744 \uc0dd\uc131\ud560 \ub54c Default\ub85c \uc0dd\uc131\ub418\ub294 \ub514\ub809\ud130\ub9ac\uc640 \ub2e4\ub978 \ud3f4\ub354\ub85c \uc9c1\uc811 link\ud558\uace0 \uc2f6\ub2e4\uba74 \uc544\ub798\uc640 \uac19\uc774 \uc635\uc158(-o)\ub97c \uc8fc\uc5b4 \uc0dd\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker volume create --driver local -o o=bind -o type=none -o device=\"\/home\/skanto\/docker\/vol2\" skantovol<\/code><\/pre>\n\n\n\n<p>\uc0dd\uc131\ub41c Named Volume\uc758 \uc18d\uc131\uc744 \ud655\uc778\ud558\ub824\uba74 <em>docker volume inspect skantovol<\/em> \uba85\ub839\uc5b4\ub97c \ud1b5\ud574 \uc544\ub798\uc640 \uac19\uc774 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker volume inspect skantovol\n&#91;\n    {\n        \"CreatedAt\": \"2024-11-30T09:43:34Z\",\n        \"Driver\": \"local\",\n        \"Labels\": {},\n        \"Mountpoint\": \"\/var\/lib\/docker\/volumes\/skantovol\/_data\",\n        \"Name\": \"skantovol\",\n        \"Options\": {\n            \"device\": \"\/home\/skanto\/docker\/vol2\",\n            \"o\": \"bind\",\n            \"type\": \"none\"\n        },\n        \"Scope\": \"local\"\n    }\n]<\/code><\/pre>\n\n\n\n<p>\uc774\ub807\uac8c \uc0dd\uc131\ud55c Named Volume\uc744 \uc774\uc6a9\ud558\uc5ec \uc55e\uc5d0\uc11c\uc758 \uc608\uc81c\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c nginx \ucee8\ud14c\uc774\ub108 \uc778\uc2a4\ud134\uc2a4\ub97c \uc0dd\uc131\ud55c\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mynginx3 -v skantovol:\/usr\/share\/nginx\/html -p 8090:80 -d nginx<\/code><\/pre>\n\n\n\n<p>\uc774\uc81c skantovol \ub85c link\ub41c \ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc758 \ub514\ub809\ud130\ub9ac<em>(\/home\/skanto\/docker\/vol2)<\/em>\ub85c \uc774\ub3d9\ud558\uc5ec \ub0b4\uc6a9\uc744 \ud655\uc778\ud558\uba74 \uc544\ub798\uc640 \uac19\uc774 \ud30c\uc77c\ub4e4\uc774 \uc0dd\uc131\ub418\uc5b4 \uc788\uc74c\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"154\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-10.png\" alt=\"\" class=\"wp-image-1783\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-10.png 690w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-10-300x67.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-10-604x135.png 604w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<p>\uc5ec\uae30\uc11c index.html\ud30c\uc77c\uc758 \ub0b4\uc6a9\uc744 \uc218\uc815\ud558\uba74<em>(The contents are updated through the file on host file system!!!)<\/em> \uc544\ub798 \uc2a4\uc0f7\uacfc \uac19\uc774 \ucee8\ud14c\uc774\ub108\uc758 nginx \ud398\uc774\uc9c0\uc5d0 \ubc14\ub85c \ubc18\uc601\ub428\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"638\" height=\"430\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-9.png\" alt=\"\" class=\"wp-image-1780\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-9.png 638w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-9-300x202.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-9-401x270.png 401w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ucee8\ud14c\uc774\ub108\ub4e4 \uac04\uc5d0 Volume \uacf5\uc720\ud558\uae30<\/h2>\n\n\n\n<p>\ud558\ub098\uc758 volume\uc744 \uc5ec\ub7ec \uac1c\uc758 \ucee8\ud14c\uc774\ub108\ub85c attach\uc2dc\ud0a4\uae30\ub9cc \ud558\uba74 \ucee8\ud14c\uc774\ub108\ub4e4 \uac04\uc5d0  \ub370\uc774\ud130\ub97c \ube44\uad50\uc801 \uc27d\uac8c\uacf5\uc720\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mynginx1 -v hello:\/&lt;directory inside the container&gt; -p 8080:80 -d nginx\ndocker run --name mynginx2 -v hello:\/&lt;directory inside the container&gt; -p 8081:80 -d nginx<\/code><\/pre>\n\n\n\n<p>\uc2e4\ud589\ub41c \uac01\uac01\uc758 \ucee8\ud14c\uc774\ub108\ub4e4\uc740 \ub3d9\uc77c\ud55c volume\uc744 \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p>\ud2b9\uc815 \ucee8\ud14c\uc774\ub108\uc5d0 \uc5ec\ub7ec \uac1c\uc758 volume\uc774 attach\ub418\uc5b4 \uc788\uc744 \uacbd\uc6b0 \uc774 \ucee8\ud14c\uc774\ub108\uc758 \ubaa8\ub4e0 volume\uc744 \uc0c8\ub85c \uc0dd\uc131\ud55c \ucee8\ud14c\uc774\ub108\ub85c attach\ub418\ub3c4\ub85d \ud574\uc57c \ud55c\ub2e4\uba74 \uc544\ub798\uc758 \ucf54\ub4dc\uc640 \uac19\uc774 \uac04\ub2e8\ud558\uac8c \uc774\ub97c \ucc98\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mynginx3 --volumes-from mynginx1 -p 8082:80 -d nginx<\/code><\/pre>\n\n\n\n<p>\uc774\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c \ucee8\ud14c\uc774\ub108\ub4e4 \uac04\uc5d0 volume\uc744 \uacf5\uc720\ud558\uac8c \ub418\uba74 \ud2b9\uc815 container \ub0b4\ubd80\uc5d0\uc11c volume\uc73c\ub85c \uc9c0\uc815\ub41c \ub514\ub809\ud130\ub9ac\uc758 \ub0b4\uc6a9\uc744 \uc218\uc815\ud560 \uacbd\uc6b0 \uc218\uc815\ub41c \ub0b4\uc6a9\uc774 \ub2e4\ub978 \ucee8\ud14c\uc774\ub108\ub4e4\uc5d0\ub3c4 \uc790\ub3d9 \ubc18\uc601\ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker Volume\uc758 \ubc31\uc5c5, \ubcf5\uad6c, \ub9c8\uc774\uadf8\ub808\uc774\uc158<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\ubc31\uc5c5(backup)<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ubc31\uc5c5 \ub514\ub809\ud130\ub9ac\ub97c \uc0dd\uc131\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uae30\uc874\uc758 volume\uc744 \uc55e\uc5d0\uc11c \uc0dd\uc131\ud55c \ubc31\uc5c5 \ub514\ub809\ud130\ub9ac\uc640 \ud568\uaed8 \uc0c8\ub85c \ub9cc\ub4e4 \ucee8\ud14c\uc774\ub108\ub85c \uacf5\uc720\ub418\ub3c4\ub85d \uc124\uc815\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uae30\uc874 \uacf5\uc720 volume\uc758 \ub0b4\uc6a9\uc744 \uc555\ucd95\ud558\uace0 \uadf8 \uc555\ucd95\ud30c\uc77c\uc774 \ubc31\uc5c5 \ucee8\ud14c\uc774\ub108\uc5d0 \ub9c1\ud06c(link)\ub41c \ub514\ub809\ud130\ub9ac\ub85c \uc0dd\uc131\ud55c\ub2e4.<\/li>\n\n\n\n<li>\uc774\ub807\uac8c \ud558\uba74 \ud638\uc2a4\ud2b8 \uc2dc\uc2a4\ud15c\uc5d0 \uc555\ucd95\ud30c\uc77c\uc774 \uc0dd\uc131\ub418\ub294 \uac83\uacfc \ub3d9\uc77c\ud55c \ud6a8\uacfc\uac00 \ubc1c\uc0dd\ud55c\ub2e4.<\/li>\n\n\n\n<li>\ub9c8\uc9c0\ub9c9\uc73c\ub85c, \uc791\uc5c5\uc774 \uc644\ub8cc\ub418\uba74 \uc0c8\ub85c \uc0dd\uc131\ud55c \ucee8\ud14c\uc774\ub108\ub97c \uc81c\uac70\ud55c\ub2e4.(<em>&#8211;rm<\/em> \uc635\uc158 \ud65c\uc6a9)<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir ~\/backup\ndocker run --rm --volumes-from mynginx1 -v ~\/docker\/backup:\/backup ubuntu bash -c \"cd \/usr\/share\/nginx\/html &amp;&amp; tar cvf \/backup\/container.tar .\"<\/code><\/pre>\n\n\n\n<p><em>~\/backup<\/em> \ub514\ub809\ud130\ub9ac\uc5d0 \uc0dd\uc131\ub420 \ud30c\uc77c\uc740 <em>container.tar<\/em> \uac00 \ub41c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"815\" height=\"261\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-6.png\" alt=\"\" class=\"wp-image-1764\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-6.png 815w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-6-300x96.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-6-768x246.png 768w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-6-604x193.png 604w\" sizes=\"auto, (max-width: 815px) 100vw, 815px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ubcf5\uad6c(restore)<\/h3>\n\n\n\n<p>\uadf8\ub7fc \ubc31\uc5c5\ubc1b\uc558\ub358 \ub0b4\uc6a9\uc744 \uc0c8\ub85c\uc6b4 Docker Volume\uc73c\ub85c \ubcf5\uad6c\ud574 \ubcf4\uc790.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc55e\uc5d0\uc11c \uc0ac\uc6a9\ud588\ub358 \uba85\ub839\uc5b4\uc640 \ube44\uc2b7\ud55c \ubc29\ubc95\uc73c\ub85c \uc9c4\ud589\ud55c\ub2e4. \uc5ec\uae30\uc11c\ub294 \ubcf5\uad6c \ud655\uc778\uc744 \uc704\ud574 <em>restore.html<\/em>\ud30c\uc77c\uc744 \uc784\uc758\ub85c \ub9cc\ub4e4\uc5c8\ub2e4.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm -v hello:\/recover -v ~\/docker\/backup:\/backup ubuntu bash -c \"cd \/recover &amp;&amp; tar xvf \/backup\/container.tar\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"149\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-7.png\" alt=\"\" class=\"wp-image-1768\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-7.png 826w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-7-300x54.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-7-768x139.png 768w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-7-604x109.png 604w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\uc815\uc0c1\uc801\uc73c\ub85c \ubcf5\uad6c\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud558\ub824\uba74 volume\uc744 \uc11c\ub85c \uacf5\uc720\ud558\ub294 \ucee8\ud14c\uc774\ub108\ub4e4 \uc911 \ud558\ub098\uc5d0 \uc811\uc18d\ud574\uc11c volume\uc73c\ub85c link\ub41c \ub514\ub809\ud130\ub9ac<em>(\/usr\/share\/nginx\/html)<\/em>\uc758 \ub0b4\uc6a9\uc744 \ud655\uc778\ud55c\ub2e4. \uc544\ub798\uc640 \uc2a4\uc0f7\ucc98\ub7fc \ucee8\ud14c\uc774\ub108\uc758 volume\uc73c\ub85c link\ub41c \ub514\ub809\ud130\ub9ac\uc5d0\uc11c <em>restore.html<\/em>\ud30c\uc77c\uc774 \ubcf5\uad6c\ub418\uc5c8\uc74c\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"818\" height=\"203\" src=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-8.png\" alt=\"\" class=\"wp-image-1769\" srcset=\"https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-8.png 818w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-8-300x74.png 300w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-8-768x191.png 768w, https:\/\/skanto.co.kr\/wp-content\/uploads\/2024\/11\/image-8-604x150.png 604w\" sizes=\"auto, (max-width: 818px) 100vw, 818px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ub9c8\uc774\uadf8\ub808\uc774\uc158(Migration)<\/h3>\n\n\n\n<p>\ubc31\uc5c5\uc744 \uc704\ud55c \ubc29\ubc95\uc73c\ub85c, \ud3f4\ub354\uc5d0 \uc0dd\uc131\ub41c \uc555\ucd95\ud30c\uc77c\uc744 <em>scp, rsync<\/em> \ub4f1\uacfc \uac19\uc774 \ud65c\uc6a9 \uac00\ub2a5\ud55c \ud30c\uc77c\uc804\uc1a1 \ud234\uc744 \uc774\uc6a9\ud558\uc5ec \ub2e4\ub978 \ud638\uc2a4\ud2b8\ub85c \uc804\uc1a1\ud558\uace0 \ud574\ub2f9 \ud638\uc2a4\ud2b8\uc5d0\uc11c \uc555\ucd95\ud30c\uc77c\uc744 \ubcf5\uad6c\ud558\uba74 \ub41c\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker Compose\uc5d0\uc11c Volume \uc0ac\uc6a9\ud558\uae30<\/h2>\n\n\n\n<p>Docker Compose\ub294 \ub2e4\uc911 \ucee8\ud14c\uc774\ub108\ub85c \uad6c\uc131\ub41c Docker \uc751\uc6a9\ud504\ub85c\uadf8\ub7a8\uc744 \uc815\uc758\ud558\uace0 \uc2e4\ud589\ud558\ub294\ub370 \ud65c\uc6a9\ud558\ub294 \ud234\uc774\ub2e4. Compose\ub294 YAML\ud30c\uc77c\uc744 \uc774\uc6a9\ud558\uc5ec \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \uc11c\ube44\uc2a4\ub4e4\uc744 \uc124\uc815\ud558\uace0 \uc774\ub807\uac8c \uc124\uc815\ub41c \uc815\ubcf4\ub97c \uc774\uc6a9\ud558\uc5ec \uba85\ub839\uc5b4 \ud558\ub098\ub85c \ubaa8\ub4e0 \uc11c\ube44\uc2a4\ub4e4\uc744 \uc0dd\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4.<\/p>\n\n\n\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 \uc544\uc8fc \uae30\ubcf8\uc801\uc778 \ubc29\ubc95\uc73c\ub85c compose.yaml \ud30c\uc77c\uc5d0 Volume\uc744 \uc815\uc758\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3.5'\nservices:\n  corporate:\n    image: corporate.skanto:latest              ## base image\n    volumes:\n      - &lt;host_path&gt;:&lt;conatiner_path&gt;            ## for host-mounted volumes\n      - &lt;named_volume&gt;:&lt;container path&gt;         ## for named volumes<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Docker Volume\uc758 \uc7a5\uc810<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ub370\uc774\ud130\ub97c \uc720\uc9c0\ub97c \uc704\ud55c \ud6cc\ub96d\ud55c \ubc29\ubc95\uc744 \uc81c\uacf5\ud55c\ub2e4.<\/li>\n\n\n\n<li>Volume\uad00\ub9ac\ub294 Docker CLI \ub610\ub294 Docker API\ub85c \ud560 \uc218 \uc788\ub2e4.<\/li>\n\n\n\n<li>\ubc31\uc5c5, \ubcf5\uad6c, \ub9c8\uc774\uadf8\ub808\uc774\uc158\uc774 \uc6a9\uc774\ub2e4.<\/li>\n\n\n\n<li>\ucee8\ud14c\uc774\ub108\ub4e4\uac04\uc758 \ub370\uc774\ud130 \uacf5\uc720\ub97c \uc27d\uac8c \ud55c\ub2e4.<\/li>\n<\/ul>\n\n\n\n<p>\ub0b4\uc6a9\uc774 \ube44\uad50\uc801 \uac04\ub2e8\ud558\uc9c0\ub9cc Docker\ub97c \ud65c\uc6a9\ud558\ub294 \uc778\ud504\ub77c \ud658\uacbd\uc5d0\uc11c Docker Volume\uc744 \uc124\uc815\ud558\uace0 \ud65c\uc6a9\ud558\ub294\ub370 \uc774 \uae00\uc774 \ub3c4\uc6c0\uc774 \ub418\uae38 \ubc14\ub798\ubcf8\ub2e4.<\/p>\n\n\n\n<p>2024.11.30<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker Volume\uc744 create, backup, migrate, restore\ud558\ub294 \uc77c\ub828\uc758 \uc608\uc81c\ub97c \uc791\uc131\ud574 \ubd04\uc73c\ub85c\uc368 Docker\ub97c \ud65c\uc6a9\ud560 \ub54c \ub370\uc774\ud130\ub97c \uc601\uad6c\uc801\uc73c\ub85c \uc800\uc7a5\/\uc720\uc9c0\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc54c\uc544\ubcf8\ub2e4. Docker\uac00 \ubb34\uc5c7\uc778\uc9c0 \uba3c\uc800 \uac04\ub7b5\ud558\uac8c \uc54c\uc544\ubcf4\uae30 Docker\ub294 \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uac1c\ubc1c(developing), \ubc30\ud3ec(shipping), \uc2e4\ud589(running)\ud558\ub294 \ud558\ub098\uc758 \uc624\ud508 \ud50c\ub7ab\ud3fc(Open platform)\uc774\ub77c \ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \uc5b4\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uc6b4\uc601 \uc778\ud504\ub77c\ub85c\ubd80\ud130 \uac1c\ub150\uc801\uc73c\ub85c \ubd84\ub9ac\uc2dc\ucf1c \uc90c\uc73c\ub85c\uc368 \ubcf4\ub2e4 \ube60\ub974\uac8c \uc18c\ud504\ud2b8\uc6e8\uc5b4\ub97c \ubc30\ud3ec\ud560 \uc218 \uc788\ub3c4\ub85d \ud55c\ub2e4. Docker\ub97c \ud65c\uc6a9\ud558\uba74 \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8\uc744 \uad00\ub9ac\ud558\ub294 \uac83\uacfc \uac19\uc740 \ubc29\uc2dd\uc73c\ub85c \uc571\uc758 \uc778\ud504\ub77c(infrastructure)\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\uc5b4 \uac1c\ubc1c\uc790\uc5d0\uac8c \uc804\uccb4 \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\ub97c \uc0c1\ub2f9\ud788 \uac04\uc18c\ud654 \uc2dc\ucf1c\uc900\ub2e4. \ucf54\ub4dc\ub97c \ubc30\ud3ec, \ud14c\uc2a4\ud2b8, \ubc30\ud3ec\ub97c \ube60\ub974\uac8c \ud574\uc8fc\ub294 Docker \ubc29\ubc95\ub860\uc744 \ud65c\uc6a9\ud558\uba74 \uac1c\ubc1c\uc790\ub294&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/skanto.co.kr\/?p=1752\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[14,7],"tags":[170,171],"class_list":["post-1752","post","type-post","status-publish","format-standard","hentry","category-sw-development","category-7","tag-docker","tag-volume"],"_links":{"self":[{"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1752"}],"version-history":[{"count":21,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions"}],"predecessor-version":[{"id":1790,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1752\/revisions\/1790"}],"wp:attachment":[{"href":"https:\/\/skanto.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skanto.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}