{"id":35059,"date":"2024-11-05T15:49:44","date_gmt":"2024-11-05T08:49:44","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/05\/understanding-docker-volumes\/"},"modified":"2024-11-05T15:49:44","modified_gmt":"2024-11-05T08:49:44","slug":"understanding-docker-volumes","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/11\/05\/understanding-docker-volumes\/","title":{"rendered":"Hi\u1ec3u v\u1ec1 Docker Volumes"},"content":{"rendered":"<p>T\u1ec7p (v\u00e0 d\u1eef li\u1ec7u kh\u00e1c) \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong m\u1ed9t v\u00f9ng ch\u1ee9a Docker s\u1ebd kh\u00f4ng t\u1ed3n t\u1ea1i n\u1ebfu v\u00f9ng ch\u1ee9a b\u1ecb x\u00f3a. \u0110\u1ec3 kh\u1eafc ph\u1ee5c \u0111i\u1ec1u n\u00e0y,&nbsp;c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Docker&nbsp;<em>volumes<\/em>&nbsp;v\u00e0&nbsp;<em>bind mount . H\u01b0\u1edbng d\u1eabn n\u00e0y th\u1ea3o lu\u1eadn v\u1ec1 vi\u1ec7c s\u1eed d\u1ee5ng&nbsp;<\/em><a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker volumes<\/a>&nbsp;nh\u01b0 m\u1ed9t c\u00e1ch \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u li\u00ean t\u1ee5c. H\u00e3y coi volumes nh\u01b0 m\u1ed9t \u1ed5 c\u1ee9ng ngo\u00e0i; n\u1ebfu \u1ed5 c\u1ee9ng trong b\u1ecb x\u00f3a, \u1ed5 c\u1ee9ng ngo\u00e0i v\u1eabn gi\u1eef l\u1ea1i d\u1eef li\u1ec7u c\u1ee7a ri\u00eang n\u00f3. Volume \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef tr\u00ean m\u00e1y ch\u1ee7 v\u00e0 \u0111\u1ed9c l\u1eadp v\u1edbi b\u1ea5t k\u1ef3 v\u00f9ng ch\u1ee9a ho\u1eb7c h\u00ecnh \u1ea3nh n\u00e0o. Ch\u00fang c\u00f3 th\u1ec3 \u0111\u01b0\u1ee3c g\u1eafn v\u00e0o c\u00e1c v\u00f9ng ch\u1ee9a kh\u00e1c nhau khi c\u1ea7n v\u00e0 v\u00ec volume t\u00e1ch bi\u1ec7t v\u1edbi h\u00ecnh \u1ea3nh n\u00ean ch\u00fang kh\u00f4ng l\u00e0m t\u0103ng k\u00edch th\u01b0\u1edbc h\u00ecnh \u1ea3nh.<\/p>\n<h2 id=\"before-you-begin\">Tr\u01b0\u1edbc khi b\u1ea1n b\u1eaft \u0111\u1ea7u<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#before-you-begin\"><\/a><\/h2>\n<ol>\n<li>N\u1ebfu b\u1ea1n ch\u01b0a th\u1ef1c hi\u1ec7n, h\u00e3y t\u1ea1o m\u1ed9t t\u00e0i kho\u1ea3n Linode v\u00e0 Compute Instance. Xem h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/platform\/get-started\/\">B\u1eaft \u0111\u1ea7u v\u1edbi Linode<\/a>&nbsp;v\u00e0&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/create\/\">T\u1ea1o Compute Instance<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i .<\/li>\n<li>L\u00e0m theo h\u01b0\u1edbng d\u1eabn&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/set-up-and-secure\/\">Thi\u1ebft l\u1eadp v\u00e0 B\u1ea3o m\u1eadt Phi\u00ean b\u1ea3n Compute<\/a>&nbsp;c\u1ee7a ch\u00fang t\u00f4i \u0111\u1ec3 c\u1eadp nh\u1eadt h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n. B\u1ea1n c\u0169ng c\u00f3 th\u1ec3 mu\u1ed1n \u0111\u1eb7t m\u00fai gi\u1edd, c\u1ea5u h\u00ecnh t\u00ean m\u00e1y ch\u1ee7, t\u1ea1o t\u00e0i kho\u1ea3n ng\u01b0\u1eddi d\u00f9ng gi\u1edbi h\u1ea1n v\u00e0 t\u0103ng c\u01b0\u1eddng quy\u1ec1n truy c\u1eadp SSH.<\/li>\n<li>C\u00e0i \u0111\u1eb7t Docker tr\u00ean h\u1ec7 th\u1ed1ng c\u1ee7a b\u1ea1n.<\/li>\n<li>H\u01b0\u1edbng d\u1eabn n\u00e0y gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng d\u00f2ng l\u1ec7nh Linux m\u1ed9t c\u00e1ch tho\u1ea3i m\u00e1i. Xem&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/using-the-terminal\/\">S\u1eed d\u1ee5ng thi\u1ebft b\u1ecb \u0111\u1ea7u cu\u1ed1i<\/a>&nbsp;.<\/li>\n<li>H\u01b0\u1edbng d\u1eabn n\u00e0y gi\u1ea3 \u0111\u1ecbnh r\u1eb1ng b\u1ea1n c\u00f3 hi\u1ec3u bi\u1ebft c\u01a1 b\u1ea3n v\u1ec1 Docker. Ngo\u00e0i ra, b\u1ea1n ph\u1ea3i \u0111\u00e3 c\u00e0i \u0111\u1eb7t Docker tr\u00ean m\u00e1y ch\u1ee7 c\u1ee7a m\u00ecnh v\u00e0 tri\u1ec3n khai h\u00ecnh \u1ea3nh Docker. Xem&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/introduction-to-docker\/\">Gi\u1edbi thi\u1ec7u v\u1ec1 Docker&nbsp;<\/a>.<\/li>\n<\/ol>\n<h2 id=\"creating-a-docker-volume\">T\u1ea1o m\u1ed9t Docker Volume<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#creating-a-docker-volume\"><\/a><\/h2>\n<p>\u0110\u1ec3 b\u1eaft \u0111\u1ea7u t\u00ecm hi\u1ec3u v\u1ec1 Docker Volumes, b\u1ea1n s\u1ebd c\u1ea7n m\u1ed9t volume \u0111\u1ec3 l\u00e0m vi\u1ec7c.<\/p>\n<p>1.\u0110\u0103ng nh\u1eadp v\u00e0o Linode (ho\u1eb7c m\u00e1y ch\u1ee7 Linux kh\u00e1c) c\u1ee7a b\u1ea1n th\u00f4ng qua&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/connect-to-server-over-ssh\/\">SSH<\/a>&nbsp;ho\u1eb7c&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/lish\/\">Lish<\/a>&nbsp;.<\/p>\n<p>2.T\u1ea1o m\u1ed9t \u1ed5 \u0111\u0129a b\u1eb1ng c\u00e1ch nh\u1eadp l\u1ec7nh sau, thay th\u1ebf&nbsp;<code>example_volume<\/code>b\u1eb1ng nh\u00e3n c\u1ee7a \u1ed5 \u0111\u0129a c\u1ee7a b\u1ea1n.<\/p>\n<pre class=\"wp-block-code\"><code>docker volume create example_volume\n<\/code><\/pre>\n<p>3.X\u00e1c minh \u1ed5 \u0111\u0129a \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea1o.<\/p>\n<pre class=\"wp-block-code\"><code>docker volume list\n<\/code><\/pre>\n<p>K\u1ebft qu\u1ea3 \u0111\u1ea7u ra s\u1ebd tr\u00f4ng nh\u01b0 th\u1ebf n\u00e0y:<\/p>\n<pre class=\"wp-block-code\"><code>&#91;mumbly@linode ~]$ docker volume list\nDRIVER    VOLUME NAME\nlocal     example_volume\n&#91;mumbly@linode ~]$<\/code><\/pre>\n<h2 id=\"inspecting-a-docker-volume\">Ki\u1ec3m tra m\u1ed9t Docker Volume<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#inspecting-a-docker-volume\"><\/a><\/h2>\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n xem th\u00f4ng tin chi ti\u1ebft h\u01a1n v\u1ec1 m\u1ed9t \u1ed5 \u0111\u0129a, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng&nbsp;<code>docker volume inspect<\/code>l\u1ec7nh:<\/p>\n<pre class=\"wp-block-code\"><code>docker volume inspect example_volume\n<\/code><\/pre>\n<p>\u0110\u1ea7u ra s\u1ebd t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau:<\/p>\n<pre class=\"wp-block-code\"><code>&#91;mumbly@linode ~]$ docker volume inspect example_volume\n&#91;\n    {\n        \"CreatedAt\": \"2021-05-19T15:27:27Z\",\n        \"Driver\": \"local\",\n        \"Labels\": {},\n        \"Mountpoint\": \"\/var\/lib\/docker\/volumes\/example_volume\/_data\",\n        \"Name\": \"example_volume\",\n        \"Options\": {},\n        \"Scope\": \"local\"\n    }\n]\n&#91;mumbly@linode ~]$<\/code><\/pre>\n<h2 id=\"mounting-a-docker-volume-to-a-container\">G\u1eafn Docker Volume v\u00e0o Container<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#mounting-a-docker-volume-to-a-container\"><\/a><\/h2>\n<p>\u0110\u1ec3 d\u1eef li\u1ec7u c\u1ee7a container \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef, b\u1ea1n c\u1ea7n ph\u1ea3i g\u1eafn Docker Volume b\u1eb1ng l\u1ec7nh&nbsp;<code>--mount flag<\/code>trong&nbsp;<code>docker run<\/code>. Thay th\u1ebf&nbsp;<em>[volume_name]<\/em>&nbsp;b\u1eb1ng t\u00ean c\u1ee7a volume,&nbsp;<em>[path]<\/em>&nbsp;b\u1eb1ng \u0111\u01b0\u1eddng d\u1eabn tuy\u1ec7t \u0111\u1ed1i m\u00e0 b\u1ea1n mu\u1ed1n g\u1eafn volume v\u00e0o trong container v\u00e0&nbsp;<em>[docker_image]<\/em>&nbsp;b\u1eb1ng t\u00ean c\u1ee7a image.<\/p>\n<pre class=\"wp-block-code\"><code>docker run --mount source=&#91;volume_name],destination=&#91;path] &#91;docker_image]\n<\/code><\/pre>\n<p>V\u00ed d\u1ee5, l\u1ec7nh sau s\u1ebd g\u1eafn \u1ed5 \u0111\u0129a \u0111\u01b0\u1ee3c \u0111\u1eb7t t\u00ean&nbsp;<code>example_volume<\/code>v\u00e0o \u0111\u01b0\u1eddng d\u1eabn&nbsp;<code>\/example_volume<\/code>b\u00ean trong v\u00f9ng ch\u1ee9a b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng&nbsp;<code>ubuntu<\/code>h\u00ecnh \u1ea3nh.<\/p>\n<pre class=\"wp-block-code\"><code>docker run -it --name=example --mount source=example_volume,destination=\/example_volume ubuntu\n<\/code><\/pre>\n<p>L\u1ec7nh n\u00e0y ch\u1ea1y image, mount volume v\u00e0 \u0111\u0103ng nh\u1eadp ng\u01b0\u1eddi d\u00f9ng v\u1edbi t\u01b0 c\u00e1ch l\u00e0 root tr\u00ean image Ubuntu. Khi \u0111\u00e3 v\u00e0o v\u1edbi t\u01b0 c\u00e1ch l\u00e0 root, b\u1ea1n c\u00f3 th\u1ec3 x\u00e1c minh \u0111\u01b0\u1ee3c&nbsp;<code>example_volume<\/code>mount ch\u1ec9 b\u1eb1ng&nbsp;<code>ls<\/code>. \u0110\u1ea7u ra cho t\u1ea5t c\u1ea3 nh\u1eefng \u0111i\u1ec1u n\u00e0y s\u1ebd tr\u00f4ng gi\u1ed1ng nh\u01b0 th\u1ebf n\u00e0y:<\/p>\n<pre class=\"wp-block-code\"><code>&#91;mumbly@linode ~]$ docker run -it --name=example --mount source=example_volume,destination=\/example_volume ubuntu\nroot@b64eb2eafcdf:\/# ls\nbin   dev  example_volume  lib    lib64   media  opt   root  sbin  sys  usr\nboot  etc  home            lib32  libx32  mnt    proc  run   srv   tmp  var\nroot@b64eb2eafcdf:\/#<\/code><\/pre>\n<h2 id=\"copying-and-sharing-files-between-containers\">Sao ch\u00e9p v\u00e0 chia s\u1ebb t\u1eadp tin gi\u1eefa c\u00e1c container<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#copying-and-sharing-files-between-containers\"><\/a><\/h2>\n<p>Docker Volumes c\u0169ng cho ph\u00e9p chia s\u1ebb gi\u1eefa c\u00e1c container.<\/p>\n<p>1.G\u1eafn kh\u1ed1i l\u01b0\u1ee3ng theo h\u01b0\u1edbng d\u1eabn trong&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#mounting-a-docker-volume-to-a-container\">Mounting a Docker Volume to a Container<\/a>&nbsp;. Sau \u0111\u00e2y l\u00e0 v\u00ed d\u1ee5 \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng tr\u01b0\u1edbc \u0111\u00f3:<\/p>\n<pre class=\"wp-block-code\"><code>docker run -it --name=example --mount source=example_volume,destination=\/example_volume ubuntu\n<\/code><\/pre>\n<p>2.\u0110\u1ed5i th\u01b0 m\u1ee5c th\u00e0nh&nbsp;<code>example_data<\/code>th\u01b0 m\u1ee5c.<\/p>\n<pre class=\"wp-block-code\"><code>cd example_data\n<\/code><\/pre>\n<p>3.T\u1ea1o m\u1ed9t t\u1ec7p th\u1eed nghi\u1ec7m trong \u1ed5 \u0111\u0129a b\u1eb1ng c\u00e1ch nh\u1eadp&nbsp;<code>touch<\/code>l\u1ec7nh sau.<\/p>\n<pre class=\"wp-block-code\"><code>touch example_file.txt\n<\/code><\/pre>\n<p>4.Sau \u0111\u00f3 tho\u00e1t kh\u1ecfi container.<\/p>\n<pre class=\"wp-block-code\"><code>exit<\/code><\/pre>\n<p>5.B\u00e2y gi\u1edd h\u00e3y ch\u1ea1y m\u1ed9t docker image kh\u00e1c v\u1edbi c\u00f9ng m\u1ed9t volume \u0111\u01b0\u1ee3c g\u1eafn k\u1ebft.&nbsp;<code>debian<\/code>Image \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng trong v\u00ed d\u1ee5 b\u00ean d\u01b0\u1edbi.<\/p>\n<pre class=\"wp-block-code\"><code>docker run -it --name=example_2 --mount source=example_volume,destination=\/example_volume debian\n<\/code><\/pre>\n<p>6.Trong v\u00f9ng ch\u1ee9a m\u1edbi (g\u1ecdi l\u00e0 \u201cexample_2\u201d n\u1ebfu s\u1eed d\u1ee5ng l\u1ec7nh t\u01b0\u01a1ng t\u1ef1 nh\u01b0 l\u1ec7nh \u1edf tr\u00ean), h\u00e3y \u0111i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn th\u01b0 m\u1ee5c c\u1ee7a \u1ed5 \u0111\u0129a.<\/p>\n<pre class=\"wp-block-code\"><code>cd example_volume\n<\/code><\/pre>\n<p>7.Nh\u1eadp&nbsp;<code>ls<\/code>\u0111\u1ec3 xem t\u1eadp tin.<\/p>\n<pre class=\"wp-block-code\"><code>ls\n<\/code><\/pre>\n<h2 id=\"mounting-a-directory-from-your-linode-to-a-container\">G\u1eafn m\u1ed9t th\u01b0 m\u1ee5c t\u1eeb Linode c\u1ee7a b\u1ea1n v\u00e0o m\u1ed9t Container<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#mounting-a-directory-from-your-linode-to-a-container\"><\/a><\/h2>\n<p>Thay v\u00ec t\u1ea1o m\u1ed9t volume m\u1edbi, b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 g\u1eafn m\u1ed9t th\u01b0 m\u1ee5c t\u1eeb Linode (ho\u1eb7c h\u1ec7 th\u1ed1ng kh\u00e1c) v\u00e0o m\u1ed9t container Docker. \u0110i\u1ec1u n\u00e0y \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n th\u00f4ng qua&nbsp;<a href=\"https:\/\/docs.docker.com\/storage\/bind-mounts\/\" target=\"_blank\" rel=\"noreferrer noopener\">bind mount<\/a>&nbsp;v\u00e0 h\u1eefu \u00edch khi b\u1ea1n mu\u1ed1n l\u01b0u tr\u1eef v\u00e0 truy c\u1eadp c\u00e1c t\u1ec7p c\u1ee7a container tr\u1ef1c ti\u1ebfp t\u1eeb h\u1ec7 th\u1ed1ng c\u1ee7a m\u00ecnh. So v\u1edbi volumes, bind mount c\u00f3 ch\u1ee9c n\u0103ng h\u1ea1n ch\u1ebf.<\/p>\n<p>1.\u0110\u0103ng nh\u1eadp v\u00e0o Linode (ho\u1eb7c m\u00e1y ch\u1ee7 Linux kh\u00e1c) c\u1ee7a b\u1ea1n th\u00f4ng qua&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/guides\/connect-to-server-over-ssh\/\">SSH<\/a>&nbsp;ho\u1eb7c&nbsp;<a href=\"https:\/\/www.linode.com\/docs\/products\/compute\/compute-instances\/guides\/lish\/\">Lish<\/a>&nbsp;.<\/p>\n<p>2.S\u1eed d\u1ee5ng l\u1ec7nh sau \u0111\u1ec3 ch\u1ea1y Docker, thay th\u1ebf&nbsp;<em>[local-directory]<\/em>&nbsp;b\u1eb1ng \u0111\u01b0\u1eddng d\u1eabn tuy\u1ec7t \u0111\u1ed1i \u0111\u1ebfn th\u01b0 m\u1ee5c trong Linode m\u00e0 b\u1ea1n mu\u1ed1n g\u1eafn k\u1ebft (s\u1eed d\u1ee5ng&nbsp;<code>$(pwd)<\/code>\u0111\u1ec3 g\u1eafn k\u1ebft th\u01b0 m\u1ee5c hi\u1ec7n t\u1ea1i). Sau \u0111\u00f3 thay th\u1ebf&nbsp;<em>[mount-directory]<\/em>&nbsp;b\u1eb1ng \u0111\u01b0\u1eddng d\u1eabn tuy\u1ec7t \u0111\u1ed1i tr\u00ean v\u00f9ng ch\u1ee9a c\u1ee7a b\u1ea1n n\u01a1i b\u1ea1n mu\u1ed1n truy c\u1eadp c\u00e1c t\u1ec7p c\u1ee5c b\u1ed9 v\u00e0 thay th\u1ebf&nbsp;<em>[image]<\/em>&nbsp;b\u1eb1ng h\u00ecnh \u1ea3nh Docker m\u00e0 b\u1ea1n mu\u1ed1n s\u1eed d\u1ee5ng.<\/p>\n<pre class=\"wp-block-code\"><code>docker run --rm -it -v &#91;local-directory]:&#91;mount-directory] &#91;image]\n<\/code><\/pre>\n<p>3.B\u1ea1n s\u1ebd t\u1ef1 \u0111\u1ed9ng \u0111\u0103ng nh\u1eadp v\u00e0o container. \u0110i\u1ec1u h\u01b0\u1edbng \u0111\u1ebfn th\u01b0 m\u1ee5c g\u1eafn k\u1ebft v\u00e0 xem c\u00e1c t\u1ec7p.<\/p>\n<pre class=\"wp-block-code\"><code>ls\n<\/code><\/pre>\n<p>B\u1ea1n s\u1ebd th\u1ea5y m\u1ecdi t\u1eadp tin b\u1ea1n \u0111\u00e3 l\u01b0u tr\u1eef trong th\u01b0 m\u1ee5c c\u1ee5c b\u1ed9.<\/p>\n<h2 id=\"further-reading\">\u0110\u1ecdc th\u00eam<a href=\"https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/#further-reading\"><\/a><\/h2>\n<p>Docker Volumes c\u00f2n nhi\u1ec1u \u0111i\u1ec1u h\u01a1n th\u1ebf n\u1eefa m\u00e0 ch\u00fang ta c\u00f3 th\u1ec3 \u0111\u1ec1 c\u1eadp \u1edf \u0111\u00e2y, v\u00e0 tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng c\u1ee7a m\u1ed7i ng\u01b0\u1eddi s\u1ebd kh\u00e1c nhau. Tuy nhi\u00ean, c\u00f3 hai n\u01a1i tuy\u1ec7t v\u1eddi \u0111\u1ec3 xem x\u00e9t th\u00eam v\u1ec1 \u0111i\u1ec1u n\u00e0y l\u00e0 t\u1ea1i trang Docker&#8217;s Docs:<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\" target=\"_blank\" rel=\"noreferrer noopener\">S\u1eed d\u1ee5ng kh\u1ed1i l\u01b0\u1ee3ng t\u1ea1i Docker Docs<\/a><\/li>\n<li><a href=\"https:\/\/docs.docker.com\/storage\/troubleshooting_volume_errors\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kh\u1eafc ph\u1ee5c l\u1ed7i v\u1ec1 kh\u1ed1i l\u01b0\u1ee3ng t\u1ea1i Docker Docs<\/a><\/li>\n<\/ul>\n<h2 id=\"more-information\">Th\u00f4ng tin th\u00eam<\/h2>\n<p>B\u1ea1n c\u00f3 th\u1ec3 mu\u1ed1n tham kh\u1ea3o c\u00e1c ngu\u1ed3n sau \u0111\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin v\u1ec1 ch\u1ee7 \u0111\u1ec1 n\u00e0y. M\u1eb7c d\u00f9 ch\u00fang t\u00f4i cung c\u1ea5p v\u1edbi hy v\u1ecdng r\u1eb1ng ch\u00fang s\u1ebd h\u1eefu \u00edch, nh\u01b0ng xin l\u01b0u \u00fd r\u1eb1ng ch\u00fang t\u00f4i kh\u00f4ng th\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh ch\u00ednh x\u00e1c ho\u1eb7c t\u00ednh k\u1ecbp th\u1eddi c\u1ee7a c\u00e1c t\u00e0i li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef b\u00ean ngo\u00e0i.<\/p>\n<ul>\n<li><a href=\"https:\/\/docs.docker.com\/storage\/volumes\/\" target=\"_blank\" rel=\"noreferrer noopener\">S\u1eed d\u1ee5ng kh\u1ed1i l\u01b0\u1ee3ng t\u1ea1i Docker Docs<\/a><\/li>\n<li><a href=\"https:\/\/docs.docker.com\/storage\/troubleshooting_volume_errors\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kh\u1eafc ph\u1ee5c l\u1ed7i v\u1ec1 kh\u1ed1i l\u01b0\u1ee3ng t\u1ea1i Docker Docs<\/a><\/li>\n<\/ul>\n<p> Ngu\u1ed3n: https:\/\/www.linode.com\/docs\/guides\/understanding-docker-volumes\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u1ec7p (v\u00e0 d\u1eef li\u1ec7u kh\u00e1c) \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef trong m\u1ed9t v\u00f9ng ch\u1ee9a Docker s\u1ebd kh\u00f4ng t\u1ed3n t\u1ea1i n\u1ebfu v\u00f9ng ch\u1ee9a b\u1ecb x\u00f3a. \u0110\u1ec3 kh\u1eafc ph\u1ee5c \u0111i\u1ec1u n\u00e0y,&nbsp;c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Docker&nbsp;volumes&nbsp;v\u00e0&nbsp;bind mount . H\u01b0\u1edbng d\u1eabn n\u00e0y th\u1ea3o lu\u1eadn v\u1ec1 vi\u1ec7c s\u1eed d\u1ee5ng&nbsp;Docker volumes&nbsp;nh\u01b0 m\u1ed9t c\u00e1ch \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u li\u00ean t\u1ee5c. H\u00e3y coi volumes<\/p>\n","protected":false},"author":1,"featured_media":36303,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[108],"tags":[],"class_list":["post-35059","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-containers"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35059","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=35059"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/35059\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/36303"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=35059"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=35059"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=35059"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}