{"id":41151,"date":"2026-05-05T10:13:27","date_gmt":"2026-05-05T03:13:27","guid":{"rendered":"https:\/\/interdata.vn\/blog\/?p=41151"},"modified":"2026-05-05T10:13:27","modified_gmt":"2026-05-05T03:13:27","slug":"docker-image-la-gi","status":"publish","type":"post","link":"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/","title":{"rendered":"Docker Image l\u00e0 g\u00ec? 5 b\u01b0\u1edbc t\u1ea1o Image chu\u1ea9n t\u1ed1i \u01b0u (2026)"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 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\" style=\"cursor:inherit\">N\u1ed8I DUNG<\/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 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Docker-Image-la-gi\" >Docker Image l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Kham-pha-kien-truc-cac-Layer-cua-Docker-Image\" >Kh\u00e1m ph\u00e1 ki\u1ebfn tr\u00fac c\u00e1c Layer c\u1ee7a Docker Image<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Base-Image-%E2%80%93-Nen-mong-cua-moi-Container\" >Base Image \u2013 N\u1ec1n m\u00f3ng c\u1ee7a m\u1ecdi Container<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Image-Layer-%E2%80%93-Co-che-%E2%80%9Cxep-chong%E2%80%9D-sieu-tiet-kiem\" >Image Layer \u2013 C\u01a1 ch\u1ebf &#8220;x\u1ebfp ch\u1ed3ng&#8221; si\u00eau ti\u1ebft ki\u1ec7m<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Layer-Caching-%E2%80%93-Vu-khi-giup-build-sieu-toc\" >Layer Caching \u2013 V\u0169 kh\u00ed gi\u00fap build si\u00eau t\u1ed1c<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Phan-biet-Docker-Image-va-Docker-Container-Dung-nham-lan\" >Ph\u00e2n bi\u1ec7t Docker Image v\u00e0 Docker Container: \u0110\u1eebng nh\u1ea7m l\u1eabn!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#5-buoc-co-ban-de-tao-Docker-Image-voi-Dockerfile\" >5 b\u01b0\u1edbc c\u01a1 b\u1ea3n \u0111\u1ec3 t\u1ea1o Docker Image v\u1edbi Dockerfile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Top-3-loi-khuyen-toi-uu-dung-luong-Image\" >Top 3 l\u1eddi khuy\u00ean t\u1ed1i \u01b0u dung l\u01b0\u1ee3ng Image<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#1-Uu-tien-Alpine-Linux-lam-Base-Image\" >1. \u01afu ti\u00ean Alpine Linux l\u00e0m Base Image<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#2-Kich-hoat-Multi-stage-builds\" >2. K\u00edch ho\u1ea1t Multi-stage builds<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#3-Gop-lenh-RUN-bang-toan-tu\" >3. G\u1ed9p l\u1ec7nh RUN b\u1eb1ng to\u00e1n t\u1eed &amp;&amp;<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Cau-hoi-thuong-gap-ve-Docker-Image\" >C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Docker Image<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Docker-Image-duoc-luu-tru-o-dau\" >Docker Image \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef \u1edf \u0111\u00e2u?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Lam-the-nao-de-xoa-cac-Docker-Image-khong-su-dung\" >L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 x\u00f3a c\u00e1c Docker Image kh\u00f4ng s\u1eed d\u1ee5ng?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Nen-chon-Ubuntu-hay-Alpine-lam-Base-Image\" >N\u00ean ch\u1ecdn Ubuntu hay Alpine l\u00e0m Base Image?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Loi-%E2%80%9Cdangling-image%E2%80%9D-image-lo-lung-trong-Docker-la-gi\" >L\u1ed7i &#8220;dangling image&#8221; (image l\u01a1 l\u1eedng) trong Docker l\u00e0 g\u00ec?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Kich-thuoc-Image-qua-lon-co-anh-huong-den-toc-do-deploy-khong\" >K\u00edch th\u01b0\u1edbc Image qu\u00e1 l\u1edbn c\u00f3 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn t\u1ed1c \u0111\u1ed9 deploy kh\u00f4ng?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/#Loi-ket-ve-hanh-trinh-toi-uu-kien-truc-Container\" >L\u1eddi k\u1ebft v\u1ec1 h\u00e0nh tr\u00ecnh t\u1ed1i \u01b0u ki\u1ebfn tr\u00fac Container<\/a><\/li><\/ul><\/nav><\/div>\n<div class=\"summary\">\n<p><strong>T\u00f3m t\u1eaft nhanh:<\/strong> <a href=\"https:\/\/interdata.vn\/blog\/docker-image-la-gi\/\"><strong>Docker Image<\/strong><\/a> l\u00e0 m\u1ed9t file m\u1eabu ch\u1ec9 \u0111\u1ecdc (read-only template) ch\u1ee9a to\u00e0n b\u1ed9 m\u00e3 ngu\u1ed3n, th\u01b0 vi\u1ec7n, bi\u1ebfn m\u00f4i tr\u01b0\u1eddng v\u00e0 c\u00e1c thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng c\u1ea7n thi\u1ebft \u0111\u1ec3 ch\u1ea1y m\u1ed9t \u1ee9ng d\u1ee5ng. N\u00f3 \u0111\u00f3ng vai tr\u00f2 nh\u01b0 m\u1ed9t &#8220;b\u1ea3n thi\u1ebft k\u1ebf&#8221; t\u0129nh \u0111\u01b0\u1ee3c Docker Engine s\u1eed d\u1ee5ng \u0111\u1ec3 kh\u1edfi t\u1ea1o ra c\u00e1c m\u00f4i tr\u01b0\u1eddng ch\u1ea1y \u0111\u1ed9c l\u1eadp.<\/p>\n<ul>\n<li>Image mang t\u00ednh ch\u1ea5t b\u1ea5t bi\u1ebfn (immutable) \u2014 m\u1ed9t khi \u0111\u00e3 \u0111\u01b0\u1ee3c bi\u00ean d\u1ecbch xong, b\u1ea1n kh\u00f4ng th\u1ec3 ch\u1ec9nh s\u1eeda tr\u1ef1c ti\u1ebfp m\u00e0 ph\u1ea3i ti\u1ebfn h\u00e0nh build l\u1ea1i t\u1eeb \u0111\u1ea7u.<\/li>\n<li>C\u1ea5u tr\u00fac th\u1ef1c t\u1ebf c\u1ee7a n\u00f3 l\u00e0 t\u1eadp h\u1ee3p nhi\u1ec1u l\u1edbp (layers) x\u1ebfp ch\u1ed3ng l\u00ean nhau, gi\u00fap h\u1ec7 th\u1ed1ng ti\u1ebft ki\u1ec7m dung l\u01b0\u1ee3ng \u1ed5 c\u1ee9ng v\u00e0 t\u1ed1i \u01b0u t\u1ed1c \u0111\u1ed9 t\u00e1i s\u1eed d\u1ee5ng.<\/li>\n<li>T\u1eeb m\u1ed9t Image g\u1ed1c duy nh\u1ea5t, b\u1ea1n c\u00f3 th\u1ec3 tri\u1ec3n khai h\u00e0ng ngh\u00ecn ti\u1ebfn tr\u00ecnh ho\u1ea1t \u0111\u1ed9ng gi\u1ed1ng h\u1ec7t nhau \u1edf b\u1ea5t k\u1ef3 \u0111\u00e2u.<\/li>\n<li>Linh h\u1ed3n t\u1ea1o n\u00ean c\u1ea5u tr\u00fac n\u00e0y l\u00e0 t\u1eadp h\u1ee3p c\u00e1c ch\u1ec9 th\u1ecb d\u00f2ng l\u1ec7nh \u0111\u01b0\u1ee3c khai b\u00e1o b\u00ean trong m\u1ed9t t\u1ec7p tin mang t\u00ean Dockerfile.<\/li>\n<\/ul>\n<\/div>\n<p>H\u00e3y t\u01b0\u1edfng t\u01b0\u1ee3ng vi\u1ec7c ph\u00e1t tri\u1ec3n ph\u1ea7n m\u1ec1m gi\u1ed1ng nh\u01b0 \u0111\u00fac b\u00e1nh kim lo\u1ea1i. L\u00fac n\u00e0y, Docker Image ch\u00ednh l\u00e0 chi\u1ebfc &#8220;khu\u00f4n \u0111\u00fac&#8221; b\u1eb1ng th\u00e9p b\u1ea5t bi\u1ebfn, c\u00f2n nh\u1eefng kh\u1ed1i h\u1ed9p \u0111\u01b0\u1ee3c d\u1eadp ra h\u00e0ng lo\u1ea1t t\u1eeb chi\u1ebfc khu\u00f4n \u0111\u00f3 ch\u00ednh l\u00e0 c\u00e1c Container. Ngh\u1ecbch l\u00fd l\u00e0 d\u00f9 ai l\u00e0m IT hi\u1ec7n nay c\u0169ng nh\u1eafc \u0111\u1ebfn c\u00f4ng ngh\u1ec7 \u1ea3o h\u00f3a n\u00e0y, nh\u01b0ng c\u00f3 h\u01a1n 60% l\u1eadp tr\u00ecnh vi\u00ean m\u1edbi v\u1eabn \u0111\u00e1nh \u0111\u1ed3ng hai kh\u00e1i ni\u1ec7m n\u00e0y l\u00e0 m\u1ed9t.<\/p>\n<p>H\u1ec7 qu\u1ea3 c\u1ee7a s\u1ef1 nh\u1ea7m l\u1eabn n\u00e0y kh\u00f4ng h\u1ec1 nh\u1ecf. Vi\u1ec7c hi\u1ec3u sai b\u1ea3n ch\u1ea5t d\u1eabn \u0111\u1ebfn nh\u1eefng file build n\u1eb7ng t\u1edbi h\u00e0ng Gigabyte, t\u1ed1n h\u00e0ng ch\u1ee5c ph\u00fat \u0111\u1ec3 kh\u1edfi t\u1ea1o tr\u00ean m\u00e1y ch\u1ee7 v\u00e0 ti\u1ec1m \u1ea9n r\u1ee7i ro b\u1ea3o m\u1eadt kh\u1ed5ng l\u1ed3. Trong b\u00e0i vi\u1ebft n\u00e0y, <a href=\"https:\/\/interdata.vn\/\" target=\"_blank\" rel=\"noopener\"><strong>InterData<\/strong><\/a> s\u1ebd c\u00f9ng b\u1ea1n b\u00f3c t\u00e1ch t\u1eebng l\u1edbp lang k\u1ef9 thu\u1eadt c\u1ee7a m\u1ed9t Image. Ch\u00fang ta s\u1ebd gi\u1ea3i ph\u1eabu ki\u1ebfn tr\u00fac c\u1ed1t l\u00f5i, t\u1ef1 tay vi\u1ebft m\u00e3 \u0111\u1ec3 \u0111\u00f3ng g\u00f3i \u1ee9ng d\u1ee5ng v\u00e0 \u00e1p d\u1ee5ng ngay b\u00ed quy\u1ebft gi\u1ea3m 80% dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef t\u1eeb c\u00e1c chuy\u00ean gia DevOps th\u1ef1c chi\u1ebfn.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Docker-Image-la-gi\"><\/span>Docker Image l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Docker Image<\/strong> l\u00e0 m\u1ed9t t\u1ec7p nh\u1ecb ph\u00e2n \u0111\u00f3ng g\u00f3i ph\u1ea7n m\u1ec1m v\u00e0 m\u1ecdi th\u00e0nh ph\u1ea7n ph\u1ee5 thu\u1ed9c c\u1ee7a n\u00f3, ho\u1ea1t \u0111\u1ed9ng d\u01b0\u1edbi d\u1ea1ng m\u1eabu ch\u1ec9 \u0111\u1ecdc (read-only). Ngh\u0129a l\u00e0 n\u00f3 bao g\u1ed3m source code, runtime, c\u00e1c th\u01b0 vi\u1ec7n (libraries) c\u1ee5 th\u1ec3, v\u00e0 c\u1ea3 bi\u1ebfn m\u00f4i tr\u01b0\u1eddng \u0111\u01b0\u1ee3c thi\u1ebft l\u1eadp s\u1eb5n. Kh\u00f4ng c\u1ea7n bi\u1ebft m\u00e1y t\u00ednh c\u1ee7a b\u1ea1n \u0111ang ch\u1ea1y Windows, macOS hay b\u1ea3n ph\u00e2n ph\u1ed1i Linux n\u00e0o, ch\u1ec9 c\u1ea7n c\u00f3 Docker Engine, h\u1ec7 th\u1ed1ng s\u1ebd \u0111\u1ecdc hi\u1ec3u v\u00e0 th\u1ef1c thi b\u1ea3n m\u1eabu n\u00e0y m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c.<\/p>\n<p>Theo \u0111\u1ecbnh ngh\u0129a t\u1eeb <a href=\"https:\/\/docs.docker.com\/guides\/docker-concepts\/the-basics\/what-is-an-image\/\" target=\"_blank\" rel=\"nofollow noopener\">t\u00e0i li\u1ec7u ch\u00ednh th\u1ee9c c\u1ee7a Docker<\/a>, m\u1ed9t t\u00ednh ch\u1ea5t s\u1ed1ng c\u00f2n c\u1ee7a Image l\u00e0 s\u1ef1 b\u1ea5t bi\u1ebfn (Immutable). S\u1ef1 b\u1ea5t bi\u1ebfn \u0111\u1ea3m b\u1ea3o r\u1eb1ng phi\u00ean b\u1ea3n ph\u1ea7n m\u1ec1m b\u1ea1n ki\u1ec3m th\u1eed tr\u00ean m\u00e1y c\u00e1 nh\u00e2n s\u1ebd ho\u1ea1t \u0111\u1ed9ng y h\u1ec7t 100% khi \u0111\u01b0\u1ee3c \u0111\u1ea9y l\u00ean m\u00f4i tr\u01b0\u1eddng Production. N\u1ebfu \u1ee9ng d\u1ee5ng ph\u00e1t sinh l\u1ed7i v\u00e0 b\u1ea1n c\u1ea7n c\u1eadp nh\u1eadt code, c\u00e1ch duy nh\u1ea5t l\u00e0 t\u1ea1o ra m\u1ed9t Image version 2, thay v\u00ec ch\u1ecdc ngo\u00e1y tr\u1ef1c ti\u1ebfp v\u00e0o phi\u00ean b\u1ea3n \u0111ang ch\u1ea1y.<\/p>\n<p>D\u01b0\u1edbi g\u00f3c nh\u00ecn c\u1ee7a m\u1ed9t chuy\u00ean vi\u00ean System Admin t\u1ea1i InterData th\u00ec \u0111\u00e2y th\u1ef1c s\u1ef1 l\u00e0 cu\u1ed9c c\u00e1ch m\u1ea1ng. K\u1ef7 nguy\u00ean c\u1ee7a nh\u1eefng c\u00e2u n\u00f3i &#8220;code ch\u1ea1y ngon tr\u00ean m\u00e1y t\u00f4i nh\u01b0ng s\u1eadp tr\u00ean server kh\u00e1ch h\u00e0ng&#8221; \u0111\u00e3 ch\u00ednh th\u1ee9c ch\u1ea5m d\u1ee9t. M\u1ecdi th\u1ee9 \u1ee9ng d\u1ee5ng c\u1ea7n \u0111\u1ec3 s\u1ed1ng s\u00f3t \u0111\u00e3 \u0111\u01b0\u1ee3c kh\u00f3a ch\u1eb7t b\u00ean trong m\u1ed9t kh\u1ed1i duy nh\u1ea5t.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-41155\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image.jpg\" alt=\"Docker Image\" width=\"600\" height=\"448\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image.jpg 1200w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-300x224.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1024x765.jpg 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-768x573.jpg 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Kham-pha-kien-truc-cac-Layer-cua-Docker-Image\"><\/span>Kh\u00e1m ph\u00e1 ki\u1ebfn tr\u00fac c\u00e1c Layer c\u1ee7a Docker Image<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>S\u1ee9c m\u1ea1nh th\u1ef1c s\u1ef1 c\u1ee7a Docker kh\u00f4ng n\u1eb1m \u1edf vi\u1ec7c n\u00f3 \u0111\u00f3ng g\u00f3i ph\u1ea7n m\u1ec1m, m\u00e0 n\u1eb1m \u1edf c\u01a1 ch\u1ebf ph\u00e2n t\u1ea7ng th\u00f4ng minh. Ki\u1ebfn tr\u00fac Docker Image bao g\u1ed3m nhi\u1ec1u l\u1edbp (layers) x\u1ebfp ch\u1ed3ng l\u00ean nhau theo th\u1ee9 t\u1ef1 t\u1eeb d\u01b0\u1edbi l\u00ean tr\u00ean. L\u1edbp d\u01b0\u1edbi c\u00f9ng \u0111\u00f3ng vai tr\u00f2 n\u1ec1n t\u1ea3ng h\u1ec7 \u0111i\u1ec1u h\u00e0nh, trong khi c\u00e1c l\u1edbp b\u00ean tr\u00ean ghi nh\u1eadn nh\u1eefng thay \u0111\u1ed5i thao t\u00e1c (nh\u01b0 th\u00eam file, c\u00e0i \u0111\u1eb7t npm). S\u1ef1 ph\u00e2n t\u00e1ch n\u00e0y l\u00e0 l\u00fd do gi\u1ea3i th\u00edch v\u00ec sao c\u00f4ng ngh\u1ec7 n\u00e0y l\u1ea1i nh\u1eb9 v\u00e0 linh ho\u1ea1t \u0111\u1ebfn v\u1eady.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Base-Image-%E2%80%93-Nen-mong-cua-moi-Container\"><\/span>Base Image \u2013 N\u1ec1n m\u00f3ng c\u1ee7a m\u1ecdi Container<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u1edbp layer d\u01b0\u1edbi c\u00f9ng v\u00e0 t\u0129nh nh\u1ea5t \u0111\u01b0\u1ee3c g\u1ecdi l\u00e0 Base Image. B\u1ea1n c\u00f3 th\u1ec3 coi n\u00f3 nh\u01b0 m\u1ed9t h\u1ec7 \u0111i\u1ec1u h\u00e0nh thu nh\u1ecf, tr\u1ed1ng r\u1ed7ng nh\u01b0ng ch\u1ee9a \u0111\u1ee7 nh\u00e2n kernel c\u01a1 b\u1ea3n \u0111\u1ec3 giao ti\u1ebfp v\u1edbi ph\u1ea7n c\u1ee9ng. Thay v\u00ec ph\u1ea3i c\u00e0i m\u1ed9t b\u1ea3n Windows Server n\u1eb7ng 4GB, b\u1ea1n ch\u1ec9 c\u1ea7n m\u1ed9t Base Image nh\u01b0 <code>ubuntu:22.04<\/code> ho\u1eb7c <code>alpine:latest<\/code> v\u1edbi k\u00edch th\u01b0\u1edbc ch\u1ec9 t\u1eeb v\u00e0i MB \u0111\u1ebfn v\u00e0i ch\u1ee5c MB l\u00e0m b\u1ec7 ph\u00f3ng cho c\u00e1c \u1ee9ng d\u1ee5ng c\u1ee7a m\u00ecnh.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Image-Layer-%E2%80%93-Co-che-%E2%80%9Cxep-chong%E2%80%9D-sieu-tiet-kiem\"><\/span>Image Layer \u2013 C\u01a1 ch\u1ebf &#8220;x\u1ebfp ch\u1ed3ng&#8221; si\u00eau ti\u1ebft ki\u1ec7m<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>M\u1ed7i khi b\u1ea1n ra l\u1ec7nh cho Docker th\u1ef1c thi m\u1ed9t h\u00e0nh \u0111\u1ed9ng \u2014 v\u00ed d\u1ee5 d\u00f9ng l\u1ec7nh <code>COPY<\/code> \u0111\u1ec3 \u0111\u01b0a th\u01b0 m\u1ee5c m\u00e3 ngu\u1ed3n v\u00e0o, ho\u1eb7c <code>RUN pip install<\/code> \u0111\u1ec3 t\u1ea3i th\u01b0 vi\u1ec7n Python \u2014 h\u1ec7 th\u1ed1ng s\u1ebd kh\u00f4ng ghi \u0111\u00e8 l\u00ean Base Image. Thay v\u00e0o \u0111\u00f3, n\u00f3 \u0111\u1eafp th\u00eam m\u1ed9t layer ho\u00e0n to\u00e0n m\u1edbi \u0111\u00e8 l\u00ean tr\u00ean. C\u00e1c l\u1edbp n\u00e0y li\u00ean k\u1ebft v\u1edbi nhau b\u1eb1ng con tr\u1ecf \u0111\u1ecbnh tuy\u1ebfn, t\u1ea1o th\u00e0nh m\u1ed9t h\u1ec7 th\u1ed1ng t\u1ec7p h\u1ee3p nh\u1ea5t (Union File System) khi ng\u01b0\u1eddi d\u00f9ng truy c\u1eadp.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Layer-Caching-%E2%80%93-Vu-khi-giup-build-sieu-toc\"><\/span>Layer Caching \u2013 V\u0169 kh\u00ed gi\u00fap build si\u00eau t\u1ed1c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Docker engine c\u1ef1c k\u1ef3 th\u00f4ng minh trong vi\u1ec7c t\u00e1i s\u1eed d\u1ee5ng t\u00e0i nguy\u00ean. Khi b\u1ea1n build m\u1ed9t Image l\u1ea7n th\u1ee9 hai, h\u1ec7 th\u1ed1ng s\u1ebd r\u00e0 so\u00e1t t\u1eeb tr\u00ean xu\u1ed1ng d\u01b0\u1edbi. N\u1ebfu n\u00f3 ph\u00e1t hi\u1ec7n m\u00e3 ngu\u1ed3n \u1edf layer th\u1ee9 3 thay \u0111\u1ed5i, n\u00f3 s\u1ebd gi\u1eef nguy\u00ean layer 1 v\u00e0 2 t\u1eeb b\u1ed9 nh\u1edb \u0111\u1ec7m (cache), v\u00e0 ch\u1ec9 b\u1eaft \u0111\u1ea7u build l\u1ea1i t\u1eeb layer 3 tr\u1edf \u0111i. C\u01a1 ch\u1ebf n\u00e0y gi\u00fap r\u00fat ng\u1eafn th\u1eddi gian tri\u1ec3n khai t\u1eeb 10 ph\u00fat xu\u1ed1ng ch\u1ec9 c\u00f2n v\u00e0i gi\u00e2y cho nh\u1eefng l\u1ea7n ch\u1ec9nh s\u1eeda nh\u1ecf.<\/p>\n<div style=\"border-left: 4px solid #0f6cbf; background: #f0f7ff; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 40px 0; max-width: 100%;\">\n<div style=\"display: flex; align-items: center; margin-bottom: 12px;\"><span style=\"font-size: 22px; margin-right: 10px;\">\ud83d\udca1<\/span><br \/>\n<strong style=\"color: #1a3c6e; font-size: 17px;\">Gi\u1ea3i Ph\u00e1p VPS T\u1ed1c \u0110\u1ed9 &amp; \u1ed4n \u0110\u1ecbnh \u2014 InterData<\/strong><\/div>\n<p style=\"color: #333; font-size: 14px; margin: 0 0 16px 0; line-height: 1.6;\">B\u1ea1n \u0111ang c\u1ea7n m\u00f4i tr\u01b0\u1eddng th\u1ef1c t\u1ebf \u0111\u1ec3 ch\u1ea1y th\u1eed Docker Image? Th\u1ef1c h\u00e0nh build v\u00e0 run Container ngay tr\u00ean h\u1ea1 t\u1ea7ng VPS Linux v\u1edbi \u1ed5 c\u1ee9ng NVMe si\u00eau t\u1ed1c t\u1ea1i InterData, gi\u00fap l\u1ec7nh <code>docker pull<\/code> v\u00e0 <code>build<\/code> di\u1ec5n ra trong ch\u1edbp m\u1eaft.<\/p>\n<p style=\"color: #555; font-size: 13px; margin: 0 0 18px 0;\"><strong style=\"color: #0f6cbf;\">\u2713<\/strong> \u1ed4 c\u1ee9ng NVMe si\u00eau t\u1ed1c<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> To\u00e0n quy\u1ec1n Root\/Admin<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> Kh\u1edfi t\u1ea1o t\u1ef1 \u0111\u1ed9ng nhanh ch\u00f3ng<\/p>\n<p><a style=\"display: inline-block; background: #0f6cbf; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; padding: 10px 22px; border-radius: 6px;\" href=\"https:\/\/interdata.vn\/thue-vps\/\" target=\"_blank\" rel=\"noopener\">Tham Kh\u1ea3o B\u1ea3ng Gi\u00e1 VPS R\u1ebb \u2192<\/a><\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Phan-biet-Docker-Image-va-Docker-Container-Dung-nham-lan\"><\/span>Ph\u00e2n bi\u1ec7t Docker Image v\u00e0 Docker Container: \u0110\u1eebng nh\u1ea7m l\u1eabn!<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>S\u1ef1 nh\u1ea7m l\u1eabn l\u1edbn nh\u1ea5t c\u1ee7a ng\u01b0\u1eddi m\u1edbi h\u1ecdc \u1ea3o h\u00f3a th\u01b0\u1eddng b\u1eaft ngu\u1ed3n t\u1eeb vi\u1ec7c \u0111\u00e1nh \u0111\u1ed3ng th\u1ef1c th\u1ec3 l\u01b0u tr\u1eef v\u00e0 th\u1ef1c th\u1ec3 ho\u1ea1t \u0111\u1ed9ng. \u0110\u1ec3 c\u1eaft ngh\u0129a ng\u1eafn g\u1ecdn: Image l\u00e0 tr\u1ea1ng th\u00e1i t\u0129nh (ph\u1ea7n m\u1ec1m \u0111ang n\u1eb1m y\u00ean tr\u00ean \u1ed5 c\u1ee9ng), c\u00f2n Container l\u00e0 tr\u1ea1ng th\u00e1i \u0111\u1ed9ng (khi ph\u1ea7n m\u1ec1m \u0111\u00f3 \u0111\u01b0\u1ee3c g\u1ecdi ra v\u00e0 \u0111ang ch\u1ea1y tr\u00ean RAM).<\/p>\n<p>N\u1ebfu b\u1ea1n t\u1eebng h\u1ecdc l\u1eadp tr\u00ecnh h\u01b0\u1edbng \u0111\u1ed1i t\u01b0\u1ee3ng (OOP), h\u00e3y \u00e1p d\u1ee5ng t\u01b0 duy t\u01b0\u01a1ng t\u1ef1: Image ch\u00ednh l\u00e0 Class (L\u1edbp \u0111\u1ecbnh ngh\u0129a), c\u00f2n Docker Container \u0111\u00f3ng vai tr\u00f2 l\u00e0 Object\/Instance (\u0110\u1ed1i t\u01b0\u1ee3ng c\u1ee5 th\u1ec3 \u0111\u01b0\u1ee3c sinh ra t\u1eeb l\u1edbp \u0111\u00f3). B\u1ea1n ch\u1ec9 c\u1ea7n vi\u1ebft m\u1ed9t Class, nh\u01b0ng c\u00f3 th\u1ec3 kh\u1edfi t\u1ea1o h\u00e0ng ng\u00e0n Object. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 b\u1ea3ng ph\u00e2n t\u00edch k\u1ef9 thu\u1eadt chi ti\u1ebft gi\u1eefa hai th\u00e0nh ph\u1ea7n n\u00e0y:<\/p>\n<table style=\"width: 100%; border-collapse: collapse; margin-bottom: 24px;\">\n<thead>\n<tr style=\"background-color: #f8f9fa;\">\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Ti\u00eau ch\u00ed<\/th>\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Docker Image<\/th>\n<th style=\"border: 1px solid #ddd; padding: 12px; text-align: left;\">Docker Container<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border: 1px solid #ddd; padding: 12px;\"><strong>Tr\u1ea1ng th\u00e1i<\/strong><\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">T\u0129nh (B\u1ea5t bi\u1ebfn)<\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">\u0110\u1ed9ng (\u0110ang ch\u1ea1y\/D\u1eebng)<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #ddd; padding: 12px;\"><strong>C\u1ea5u tr\u00fac Layer<\/strong><\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">Ch\u1ec9 bao g\u1ed3m c\u00e1c Read-only layers<\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">C\u00f3 th\u00eam 1 Writable layer (l\u1edbp ghi) tr\u00ean c\u00f9ng<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #ddd; padding: 12px;\"><strong>L\u01b0u tr\u1eef<\/strong><\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">T\u1ed3n t\u1ea1i tr\u00ean \u1ed5 c\u1ee9ng l\u00e2u d\u00e0i<\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">D\u1eef li\u1ec7u m\u1ea5t \u0111i khi b\u1ecb x\u00f3a (tr\u1eeb khi mount volume)<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid #ddd; padding: 12px;\"><strong>M\u1ed1i quan h\u1ec7<\/strong><\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">L\u00e0 b\u1ea3n thi\u1ebft k\u1ebf g\u1ed1c<\/td>\n<td style=\"border: 1px solid #ddd; padding: 12px;\">L\u00e0 s\u1ea3n ph\u1ea9m t\u1ea1o ra t\u1eeb thi\u1ebft k\u1ebf<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"5-buoc-co-ban-de-tao-Docker-Image-voi-Dockerfile\"><\/span>5 b\u01b0\u1edbc c\u01a1 b\u1ea3n \u0111\u1ec3 t\u1ea1o Docker Image v\u1edbi Dockerfile<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 h\u1ec7 th\u1ed1ng bi\u1ebft b\u1ea1n mu\u1ed1n h\u1ec7 \u0111i\u1ec1u h\u00e0nh g\u00ec, copy file n\u00e0o v\u00e0 ch\u1ea1y l\u1ec7nh g\u00ec? C\u00e2u tr\u1ea3 l\u1eddi n\u1eb1m \u1edf m\u1ed9t t\u1ec7p tin v\u0103n b\u1ea3n thu\u1ea7n t\u00fay c\u00f3 t\u00ean g\u1ecdi l\u00e0 Dockerfile. D\u01b0\u1edbi \u0111\u00e2y l\u00e0 quy tr\u00ecnh 5 b\u01b0\u1edbc th\u1ef1c t\u1ebf m\u00e0 c\u00e1c k\u1ef9 s\u01b0 InterData s\u1eed d\u1ee5ng \u0111\u1ec3 \u0111\u00f3ng g\u00f3i m\u1ed9t \u1ee9ng d\u1ee5ng Nginx web server c\u01a1 b\u1ea3n th\u00e0nh m\u1ed9t file Dockerfile chu\u1ea9n ch\u1ec9nh.<\/p>\n<ol>\n<li><strong>B\u01b0\u1edbc 1 &#8211; T\u1ea1o file c\u1ea5u h\u00ecnh:<\/strong> T\u1ea1i th\u01b0 m\u1ee5c g\u1ed1c c\u1ee7a d\u1ef1 \u00e1n, b\u1ea1n t\u1ea1o m\u1ed9t t\u1ec7p tin m\u1edbi v\u00e0 \u0111\u1eb7t t\u00ean ch\u00ednh x\u00e1c l\u00e0 <code>Dockerfile<\/code> (l\u01b0u \u00fd ch\u1eef D vi\u1ebft hoa, kh\u00f4ng c\u00f3 \u0111\u1ecbnh d\u1ea1ng \u0111u\u00f4i nh\u01b0 .txt hay .json).<\/li>\n<li><strong>B\u01b0\u1edbc 2 &#8211; Khai b\u00e1o n\u1ec1n m\u00f3ng:<\/strong> S\u1eed d\u1ee5ng ch\u1ec9 th\u1ecb <code>FROM<\/code> \u0111\u1ea7u ti\u00ean \u0111\u1ec3 quy\u1ebft \u0111\u1ecbnh Base Image. V\u00ed d\u1ee5: <code>FROM nginx:alpine<\/code>.<\/li>\n<li><strong>B\u01b0\u1edbc 3 &#8211; Di chuy\u1ec3n d\u1eef li\u1ec7u:<\/strong> D\u00f9ng l\u1ec7nh <code>COPY<\/code> \u0111\u1ec3 sao ch\u00e9p th\u01b0 m\u1ee5c ch\u1ee9a m\u00e3 ngu\u1ed3n website (v\u00ed d\u1ee5 folder html) t\u1eeb m\u00e1y th\u1eadt v\u00e0o b\u00ean trong \u0111\u01b0\u1eddng d\u1eabn t\u0129nh c\u1ee7a container.<\/li>\n<li><strong>B\u01b0\u1edbc 4 &#8211; M\u1edf c\u1ed5ng giao ti\u1ebfp:<\/strong> Khai b\u00e1o l\u1ec7nh <code>EXPOSE 80<\/code> \u0111\u1ec3 b\u00e1o hi\u1ec7u cho h\u1ec7 th\u1ed1ng bi\u1ebft \u1ee9ng d\u1ee5ng n\u00e0y s\u1ebd l\u1eafng nghe c\u00e1c request HTTP \u1edf port 80.<\/li>\n<li><strong>B\u01b0\u1edbc 5 &#8211; Th\u1ef1c thi bi\u00ean d\u1ecbch:<\/strong> M\u1edf Terminal, \u0111\u1ee9ng t\u1ea1i th\u01b0 m\u1ee5c ch\u1ee9a file v\u1eeba t\u1ea1o v\u00e0 g\u00f5 l\u1ec7nh build. C\u00fa ph\u00e1p b\u1eaft bu\u1ed9c ph\u1ea3i c\u00f3 d\u1ea5u ch\u1ea5m &#8220;.&#8221; \u1edf cu\u1ed1i \u0111\u1ec3 x\u00e1c \u0111\u1ecbnh ng\u1eef c\u1ea3nh hi\u1ec7n t\u1ea1i.<\/li>\n<\/ol>\n<p>Snippet th\u1ef1c t\u1ebf minh h\u1ecda cho 5 b\u01b0\u1edbc tr\u00ean:<\/p>\n<pre><code># B\u01b0\u1edbc 2\r\nFROM nginx:alpine\r\n\r\n# B\u01b0\u1edbc 3\r\nCOPY .\/src\/html \/usr\/share\/nginx\/html\r\n\r\n# B\u01b0\u1edbc 4\r\nEXPOSE 80\r\n\r\n# Ch\u1ea1y ng\u1ea7m Nginx\r\nCMD [\"nginx\", \"-g\", \"daemon off;\"]\r\n<\/code><\/pre>\n<p>Sau khi l\u01b0u file, b\u1ea1n ch\u1ea1y l\u1ec7nh sau tr\u00ean Terminal \u0111\u1ec3 d\u1eadp ra chi\u1ebfc khu\u00f4n ho\u00e0n ch\u1ec9nh:<\/p>\n<pre><code>docker build -t my-website-image:v1 .<\/code><\/pre>\n<div style=\"border-left: 4px solid #0f6cbf; background: #f0f7ff; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 40px 0; max-width: 100%;\">\n<div style=\"display: flex; align-items: center; margin-bottom: 12px;\"><span style=\"font-size: 22px; margin-right: 10px;\">\ud83d\udca1<\/span><br \/>\n<strong style=\"color: #1a3c6e; font-size: 17px;\">H\u1ea1 T\u1ea7ng Cloud Server Doanh Nghi\u1ec7p \u2014 InterData<\/strong><\/div>\n<p style=\"color: #333; font-size: 14px; margin: 0 0 16px 0; line-height: 1.6;\">H\u1ec7 th\u1ed1ng Docker c\u1ee7a b\u1ea1n \u0111ang ph\u00ecnh to v\u00e0 c\u1ea7n m\u1edf r\u1ed9ng (Scale)? Ch\u1ea1y h\u00e0ng tr\u0103m Container c\u00f9ng l\u00fac \u1ed5n \u0111\u1ecbnh v\u1edbi Cloud Server Enterprise t\u1ea1i InterData. Cam k\u1ebft High Availability, uptime 99.99% cho ki\u1ebfn tr\u00fac microservices.<\/p>\n<p style=\"color: #555; font-size: 13px; margin: 0 0 18px 0;\"><strong style=\"color: #0f6cbf;\">\u2713<\/strong> C\u1ee5m Cluster HA m\u1ea1nh m\u1ebd<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> Scale up\/down linh ho\u1ea1t<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> Backup d\u1eef li\u1ec7u t\u1ef1 \u0111\u1ed9ng<\/p>\n<p><a style=\"display: inline-block; background: #0f6cbf; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; padding: 10px 22px; border-radius: 6px;\" href=\"https:\/\/interdata.vn\/cloud-server\/\" target=\"_blank\" rel=\"noopener\">Xem B\u1ea3ng Gi\u00e1 Cloud Server R\u1ebb \u2192<\/a><\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Top-3-loi-khuyen-toi-uu-dung-luong-Image\"><\/span>Top 3 l\u1eddi khuy\u00ean t\u1ed1i \u01b0u dung l\u01b0\u1ee3ng Image<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ph\u1ea7n l\u1edbn Newbie khi m\u1edbi ti\u1ebfp c\u1eadn ch\u1ec9 quan t\u00e2m \u0111\u1ebfn vi\u1ec7c &#8220;ch\u1ea1y \u0111\u01b0\u1ee3c l\u00e0 t\u1ed1t r\u1ed3i&#8221;. H\u1eadu qu\u1ea3 l\u00e0 nh\u1eefng Node.js project \u0111\u01a1n gi\u1ea3n c\u0169ng ph\u00ecnh to l\u00ean t\u1edbi 1GB. \u0110\u1ee9ng tr\u00ean l\u1eadp tr\u01b0\u1eddng c\u1ee7a m\u1ed9t \u0111\u01a1n v\u1ecb v\u1eadn h\u00e0nh h\u1ea1 t\u1ea7ng Production, InterData lu\u00f4n b\u1eaft bu\u1ed9c \u0111\u1ed9i ng\u0169 k\u1ef9 thu\u1eadt \u00e1p d\u1ee5ng b\u1ed9 ti\u00eau chu\u1ea9n kh\u1eaft khe d\u01b0\u1edbi \u0111\u00e2y \u0111\u1ec3 c\u1eaft gi\u1ea3m t\u00e0i nguy\u00ean l\u00e3ng ph\u00ed, \u0111\u1ed3ng th\u1eddi thu h\u1eb9p t\u1ed1i \u0111a b\u1ec1 m\u1eb7t t\u1ea5n c\u00f4ng b\u1ea3o m\u1eadt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-41154\" src=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1.jpg\" alt=\"Docker Image\" width=\"600\" height=\"448\" title=\"\" srcset=\"https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1.jpg 1200w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1-300x224.jpg 300w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1-1024x765.jpg 1024w, https:\/\/interdata.vn\/blog\/wp-content\/uploads\/2026\/05\/Docker-Image-1-768x573.jpg 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"1-Uu-tien-Alpine-Linux-lam-Base-Image\"><\/span>1. \u01afu ti\u00ean Alpine Linux l\u00e0m Base Image<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Nhi\u1ec1u t\u00e0i li\u1ec7u c\u0169 th\u01b0\u1eddng h\u01b0\u1edbng d\u1eabn ng\u01b0\u1eddi m\u1edbi d\u00f9ng <code>ubuntu<\/code> l\u00e0m b\u1ea3n l\u1ec1. D\u00f9ng Ubuntu r\u1ea5t d\u1ec5 v\u00ec n\u00f3 c\u00f3 s\u1eb5n m\u1ecdi ti\u1ec7n \u00edch, nh\u01b0ng \u0111i k\u00e8m v\u1edbi \u0111\u00f3 l\u00e0 g\u00e1nh n\u1eb7ng h\u00e0ng tr\u0103m MB r\u00e1c h\u1ec7 th\u1ed1ng kh\u00f4ng bao gi\u1edd d\u00f9ng t\u1edbi. C\u00e1c chuy\u00ean gia h\u1ec7 th\u1ed1ng khuy\u00ean b\u1ea1n n\u00ean chuy\u1ec3n sang d\u00f9ng Alpine Linux. \u0110\u00e2y l\u00e0 m\u1ed9t b\u1ea3n ph\u00e2n ph\u1ed1i si\u00eau t\u1ed1i gi\u1ea3n. Vi\u1ec7c s\u1eed d\u1ee5ng <code>node:18-alpine<\/code> thay v\u00ec b\u1ea3n g\u1ed1c c\u00f3 th\u1ec3 gi\u00fap \u1ee9ng d\u1ee5ng gi\u1ea3m dung l\u01b0\u1ee3ng l\u01b0u tr\u1eef t\u1eeb ng\u01b0\u1ee1ng 300MB xu\u1ed1ng ch\u1ec9 c\u00f2n v\u1ecfn v\u1eb9n ~50MB.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2-Kich-hoat-Multi-stage-builds\"><\/span>2. K\u00edch ho\u1ea1t Multi-stage builds<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u00e2y l\u00e0 k\u1ef9 thu\u1eadt ph\u00e2n t\u00e1ch qu\u00e1 tr\u00ecnh t\u1ea1o ph\u1ea7n m\u1ec1m th\u00e0nh hai giai \u0111o\u1ea1n \u0111\u1ed9c l\u1eadp. \u1ede Stage 1 (Build), b\u1ea1n c\u00e0i \u0111\u1eb7t tr\u00ecnh bi\u00ean d\u1ecbch n\u1eb7ng n\u1ec1 (nh\u01b0 Golang, SDK) \u0111\u1ec3 chuy\u1ec3n \u0111\u1ed5i source code th\u00e0nh file ch\u1ea1y binary. Sang Stage 2 (Run), b\u1ea1n ch\u1ec9 copy duy nh\u1ea5t c\u00e1i file binary \u0111\u00f3 sang m\u1ed9t Base Image m\u1edbi toanh v\u00e0 s\u1ea1ch s\u1ebd. C\u1ea5u tr\u00fac n\u00e0y v\u1ee9t b\u1ecf ho\u00e0n to\u00e0n m\u00e3 ngu\u1ed3n g\u1ed1c v\u00e0 &#8220;r\u00e1c&#8221; sinh ra trong qu\u00e1 tr\u00ecnh c\u00e0i \u0111\u1eb7t th\u01b0 vi\u1ec7n, gi\u00fap thu \u0111\u01b0\u1ee3c th\u00e0nh ph\u1ea9m cu\u1ed1i c\u00f9ng nh\u1eb9 v\u00e0 an to\u00e0n tuy\u1ec7t \u0111\u1ed1i.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3-Gop-lenh-RUN-bang-toan-tu\"><\/span>3. G\u1ed9p l\u1ec7nh RUN b\u1eb1ng to\u00e1n t\u1eed &amp;&amp;<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>D\u1eef li\u1ec7u th\u1ef1c t\u1ebf t\u1eeb c\u00e1c b\u00e0i test h\u1ec7 th\u1ed1ng cho th\u1ea5y vi\u1ec7c g\u1ed9p l\u1ec7nh c\u1ea5u h\u00ecnh gi\u00fap gi\u1ea3m trung b\u00ecnh 15-20% dung l\u01b0\u1ee3ng Image t\u1ed5ng th\u1ec3. Nguy\u00ean nh\u00e2n n\u1eb1m \u1edf c\u01a1 ch\u1ebf t\u1ea1o layer. Thay v\u00ec vi\u1ebft r\u1eddi r\u1ea1c 3 d\u00f2ng: <code>RUN apt-get update<\/code>, <code>RUN apt-get install git<\/code>, v\u00e0 <code>RUN rm -rf \/var\/lib\/apt\/lists\/*<\/code> (t\u1ea1o ra 3 layer c\u1ed3ng k\u1ec1nh x\u1ebfp ch\u1ed3ng l\u00ean nhau), b\u1ea1n h\u00e3y g\u1ed9p ch\u00fang l\u1ea1i b\u1eb1ng to\u00e1n t\u1eed <code>&amp;&amp;<\/code>. L\u00fac n\u00e0y, Docker engine s\u1ebd ch\u1ec9 ghi nh\u1eadn 1 layer duy nh\u1ea5t cho to\u00e0n b\u1ed9 chu\u1ed7i h\u00e0nh \u0111\u1ed9ng tr\u00ean.<\/p>\n<div style=\"border-left: 4px solid #0f6cbf; background: #f0f7ff; border-radius: 0 8px 8px 0; padding: 20px 24px; margin: 40px 0; max-width: 100%;\">\n<div style=\"display: flex; align-items: center; margin-bottom: 12px;\"><span style=\"font-size: 22px; margin-right: 10px;\">\ud83d\udca1<\/span><br \/>\n<strong style=\"color: #1a3c6e; font-size: 17px;\">S\u0103n Deal VPS &amp; Cloud Server \u2014 InterData<\/strong><\/div>\n<p style=\"color: #333; font-size: 14px; margin: 0 0 16px 0; line-height: 1.6;\">B\u1eadt m\u00ed: Tri\u1ec3n khai Docker c\u1ef1c m\u01b0\u1ee3t v\u1edbi chi ph\u00ed 0 \u0111\u1ed3ng ho\u1eb7c gi\u1ea3m gi\u00e1 s\u00e2u! \u0110\u1eebng b\u1ecf l\u1ee1 c\u00e1c deal s\u1ed1c, m\u00e3 gi\u1ea3m gi\u00e1 VPS\/Cloud si\u00eau h\u1eddi \u0111\u01b0\u1ee3c c\u1eadp nh\u1eadt li\u00ean t\u1ee5c h\u00e0ng tu\u1ea7n t\u1ea1i InterData. S\u0103n ngay h\u1ea1 t\u1ea7ng ngon \u0111\u1ec3 th\u1ecfa s\u1ee9c th\u1ef1c h\u00e0nh!<\/p>\n<p style=\"color: #555; font-size: 13px; margin: 0 0 18px 0;\"><strong style=\"color: #0f6cbf;\">\u2713<\/strong> M\u00e3 gi\u1ea3m gi\u00e1 c\u1ef1c h\u1eddi<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> \u01afu \u0111\u00e3i tr\u1ecdn \u0111\u1eddi<br \/>\n<strong style=\"color: #0f6cbf;\">\u2713<\/strong> \u0110a d\u1ea1ng c\u1ea5u h\u00ecnh<\/p>\n<p><a style=\"display: inline-block; background: #0f6cbf; color: #fff; font-size: 14px; font-weight: 600; text-decoration: none; padding: 10px 22px; border-radius: 6px;\" href=\"https:\/\/interdata.vn\/canhme\/\" target=\"_blank\" rel=\"noopener\">Truy c\u1eadp trang Canh Me &#8211; S\u0103n Khuy\u1ebfn M\u00e3i VPS ngay \u2192<\/a><\/p>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"Cau-hoi-thuong-gap-ve-Docker-Image\"><\/span>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Docker Image<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"Docker-Image-duoc-luu-tru-o-dau\"><\/span>Docker Image \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef \u1edf \u0111\u00e2u?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Theo m\u1eb7c \u0111\u1ecbnh, to\u00e0n b\u1ed9 d\u1eef li\u1ec7u t\u0129nh n\u00e0y \u0111\u01b0\u1ee3c l\u01b0u c\u1ee5c b\u1ed9 tr\u00ean m\u00e1y host c\u1ee7a b\u1ea1n (th\u01b0\u1eddng n\u1eb1m s\u00e2u \u1edf \u0111\u01b0\u1eddng d\u1eabn <code>\/var\/lib\/docker<\/code> \u0111\u1ed1i v\u1edbi m\u00e1y ch\u1ee7 Linux). Ngo\u00e0i ra, khi b\u1ea1n mu\u1ed1n chia s\u1ebb th\u00e0nh qu\u1ea3 cho ng\u01b0\u1eddi kh\u00e1c ho\u1eb7c deploy l\u00ean server, b\u1ea1n ph\u1ea3i \u0111\u1ea9y (push) ch\u00fang l\u00ean c\u00e1c kho ch\u1ee9a t\u1eadp trung tr\u00ean \u0111\u00e1m m\u00e2y, ph\u1ed5 bi\u1ebfn v\u00e0 mi\u1ec5n ph\u00ed nh\u1ea5t ch\u00ednh l\u00e0 m\u1ea1ng l\u01b0\u1edbi Docker Hub, ho\u1eb7c b\u1ea1n t\u1ef1 d\u1ef1ng m\u1ed9t Private Registry n\u1ed9i b\u1ed9.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Lam-the-nao-de-xoa-cac-Docker-Image-khong-su-dung\"><\/span>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 x\u00f3a c\u00e1c Docker Image kh\u00f4ng s\u1eed d\u1ee5ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0110\u1ec3 gi\u1ea3i ph\u00f3ng kh\u00f4ng gian \u0111\u0129a m\u1ed9t c\u00e1ch tri\u1ec7t \u0111\u1ec3, b\u1ea1n m\u1edf terminal v\u00e0 g\u00f5 l\u1ec7nh <code>docker rmi &lt;image_id&gt;<\/code> \u0111\u1ec3 x\u00f3a \u0111i m\u1ed9t b\u1ea3n ghi c\u1ee5 th\u1ec3. Trong tr\u01b0\u1eddng h\u1ee3p b\u1ea1n mu\u1ed1n h\u1ec7 th\u1ed1ng t\u1ef1 \u0111\u1ed9ng qu\u00e9t v\u00e0 d\u1ecdn d\u1eb9p h\u00e0ng lo\u1ea1t t\u1ea5t c\u1ea3 nh\u1eefng b\u1ea3n build r\u00e1c kh\u00f4ng \u0111\u01b0\u1ee3c li\u00ean k\u1ebft v\u1edbi b\u1ea5t k\u1ef3 ti\u1ebfn tr\u00ecnh n\u00e0o \u0111ang ch\u1ea1y, h\u00e3y d\u00f9ng c\u00e2u l\u1ec7nh m\u1ea1nh m\u1ebd <code>docker image prune -a<\/code>. D\u1eef li\u1ec7u r\u00e1c s\u1ebd bi\u1ebfn m\u1ea5t ch\u1ec9 sau v\u00e0i gi\u00e2y x\u00e1c nh\u1eadn.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Nen-chon-Ubuntu-hay-Alpine-lam-Base-Image\"><\/span>N\u00ean ch\u1ecdn Ubuntu hay Alpine l\u00e0m Base Image?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>L\u1ef1a ch\u1ecdn t\u1ed1t nh\u1ea5t cho m\u00f4i tr\u01b0\u1eddng Production th\u1ef1c t\u1ebf lu\u00f4n l\u00e0 Alpine Linux, mi\u1ec5n l\u00e0 \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n t\u01b0\u01a1ng th\u00edch v\u1edbi b\u1ed9 th\u01b0 vi\u1ec7n musl libc c\u1ee7a n\u00f3. B\u1ea3n th\u00e2n Alpine c\u1ef1c k\u1ef3 t\u1ed1i gi\u1ea3n (ch\u1ec9 kho\u1ea3ng 5MB), n\u00f3 gi\u00fap b\u0103ng th\u00f4ng pull t\u1eeb m\u1ea1ng v\u1ec1 nhanh g\u1ea5p ch\u1ee5c l\u1ea7n v\u00e0 ch\u1eb7n \u0111\u1ee9ng nguy c\u01a1 hacker khai th\u00e1c l\u1ed7 h\u1ed5ng t\u1eeb c\u00e1c ti\u1ec7n \u00edch th\u1eeba. D\u00f9 v\u1eady, n\u1ebfu b\u1ea1n l\u00e0 ng\u01b0\u1eddi m\u1edbi ch\u1eadp ch\u1eefng b\u01b0\u1edbc v\u00e0o ngh\u1ec1 ho\u1eb7c ph\u1ea3i compile code C\/C++ ph\u1ee9c t\u1ea1p, Ubuntu s\u1ebd mang l\u1ea1i s\u1ef1 tho\u1ea3i m\u00e1i, \u00edt ph\u00e1t sinh l\u1ed7i v\u1eb7t v\u00e0 d\u1ec5 d\u00f2 bug h\u01a1n.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Loi-%E2%80%9Cdangling-image%E2%80%9D-image-lo-lung-trong-Docker-la-gi\"><\/span>L\u1ed7i &#8220;dangling image&#8221; (image l\u01a1 l\u1eedng) trong Docker l\u00e0 g\u00ec?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dangling image l\u00e0 thu\u1eadt ng\u1eef ch\u1ec9 nh\u1eefng t\u1ec7p \u0111\u1ed3 \u00e1n r\u00e1c kh\u00f4ng c\u00f3 \u0111\u1ecbnh danh t\u00ean g\u1ecdi (khi g\u00f5 l\u1ec7nh list s\u1ebd hi\u1ec3n th\u1ecb d\u01b0\u1edbi d\u1ea1ng <code>&lt;none&gt;:&lt;none&gt;<\/code>) v\u00e0 ho\u00e0n to\u00e0n kh\u00f4ng \u0111\u01b0\u1ee3c container n\u00e0o vi\u1ec7n d\u1eabn \u0111\u1ebfn. Nguy\u00ean nh\u00e2n sinh ra ch\u00fang r\u1ea5t \u0111\u01a1n gi\u1ea3n: khi b\u1ea1n build l\u1ea1i code v\u1edbi c\u00f9ng m\u1ed9t th\u1ebb tag c\u0169 (v\u00ed d\u1ee5 <code>myapp:latest<\/code>), phi\u00ean b\u1ea3n m\u1edbi s\u1ebd c\u01b0\u1edbp l\u1ea5y c\u00e1i t\u00ean \u0111\u00f3, \u0111\u1ea9y phi\u00ean b\u1ea3n c\u0169 ra r\u00eca tr\u1edf th\u00e0nh k\u1ebb v\u00f4 danh l\u01a1 l\u1eedng chi\u1ebfm d\u1ee5ng \u1ed5 c\u1ee9ng.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kich-thuoc-Image-qua-lon-co-anh-huong-den-toc-do-deploy-khong\"><\/span>K\u00edch th\u01b0\u1edbc Image qu\u00e1 l\u1edbn c\u00f3 \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn t\u1ed1c \u0111\u1ed9 deploy kh\u00f4ng?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>C\u00f3, m\u1ee9c \u0111\u1ed9 \u1ea3nh h\u01b0\u1edfng c\u1ee7a n\u00f3 l\u00ean t\u1ed1c \u0111\u1ed9 tri\u1ec3n khai l\u00e0 c\u1ef1c k\u1ef3 nghi\u00eam tr\u1ecdng. K\u00edch th\u01b0\u1edbc file c\u00e0ng c\u1ed3ng k\u1ec1nh, th\u1eddi gian m\u00e1y ch\u1ee7 th\u1ef1c thi ti\u1ebfn tr\u00ecnh pull (t\u1ea3i) t\u1eeb m\u1ea1ng internet v\u1ec1 \u1ed5 c\u1ee9ng c\u1ee5c b\u1ed9 c\u00e0ng k\u00e9o d\u00e0i l\u00ea th\u00ea. Tr\u00ean c\u00e1c c\u1ee5m m\u00e1y ch\u1ee7 t\u1ef1 \u0111\u1ed9ng m\u1edf r\u1ed9ng (auto-scaling) \u1ee9ng ph\u00f3 v\u1edbi h\u00e0ng ngh\u00ecn truy c\u1eadp \u0111\u1ed9t bi\u1ebfn, kh\u1ea3 n\u0103ng boot app trong 2 gi\u00e2y so v\u1edbi vi\u1ec7c b\u1eaft user ch\u1edd 2 ph\u00fat ch\u00ednh l\u00e0 ranh gi\u1edbi gi\u1eefa th\u00e0nh c\u00f4ng v\u00e0 th\u1ea5t b\u1ea1i c\u1ee7a h\u1ec7 th\u1ed1ng.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Loi-ket-ve-hanh-trinh-toi-uu-kien-truc-Container\"><\/span>L\u1eddi k\u1ebft v\u1ec1 h\u00e0nh tr\u00ecnh t\u1ed1i \u01b0u ki\u1ebfn tr\u00fac Container<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Th\u00e0nh th\u1ea1o ngh\u1ec7 thu\u1eadt ph\u00e2n t\u00e1ch layer v\u00e0 l\u00e0m ch\u1ee7 Dockerfile ch\u00ednh l\u00e0 c\u1ed9t m\u1ed1c \u0111\u00e1nh d\u1ea5u s\u1ef1 chuy\u1ec3n m\u00ecnh t\u1eeb m\u1ed9t coder nghi\u1ec7p d\u01b0 th\u00e0nh m\u1ed9t k\u1ef9 s\u01b0 h\u1ec7 th\u1ed1ng th\u1ef1c th\u1ee5. Docker Image kh\u00f4ng ch\u1ec9 \u0111\u01a1n thu\u1ea7n l\u00e0 m\u1ed9t b\u1ea3n n\u00e9n ph\u1ea7n m\u1ec1m, n\u00f3 \u0111\u1ea1i di\u1ec7n cho t\u01b0 duy thi\u1ebft k\u1ebf c\u01a1 s\u1edf h\u1ea1 t\u1ea7ng d\u01b0\u1edbi d\u1ea1ng m\u00e3 (Infrastructure as Code) \u2014 n\u01a1i t\u00ednh b\u1ea5t bi\u1ebfn, t\u1ed1c \u0111\u1ed9 v\u00e0 s\u1ef1 nh\u1ecf g\u1ecdn \u0111\u01b0\u1ee3c \u0111\u1eb7t l\u00ean b\u00e0n c\u00e2n \u01b0u ti\u00ean h\u00e0ng \u0111\u1ea7u.<\/p>\n<p>Ngay l\u00fac n\u00e0y, h\u00e3y m\u1edf terminal c\u1ee7a b\u1ea1n l\u00ean, ki\u1ec3m tra xem \u1ed5 c\u1ee9ng c\u00f3 \u0111ang ch\u1ee9a ch\u1ea5p qu\u00e1 nhi\u1ec1u &#8220;dangling image&#8221; hay kh\u00f4ng, v\u00e0 th\u1eed vi\u1ebft l\u1ea1i m\u1ed9t Dockerfile b\u1eb1ng k\u1ef9 thu\u1eadt Multi-stage. N\u1ebfu b\u1ea1n mu\u1ed1n h\u1ec7 th\u1ed1ng h\u00f3a l\u1ea1i to\u00e0n b\u1ed9 b\u1ee9c tranh ki\u1ebfn tr\u00fac vi d\u1ecbch v\u1ee5 t\u1eeb con s\u1ed1 kh\u00f4ng, \u0111\u1eebng qu\u00ean tham kh\u1ea3o t\u00e0i li\u1ec7u Docker to\u00e0n t\u1eadp \u0111\u1ec3 n\u1eafm v\u1eefng m\u1ecdi m\u1eaft x\u00edch quan tr\u1ecdng trong h\u1ec7 sinh th\u00e1i n\u00e0y.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00f3m t\u1eaft nhanh: Docker Image l\u00e0 m\u1ed9t file m\u1eabu ch\u1ec9 \u0111\u1ecdc (read-only template) ch\u1ee9a to\u00e0n b\u1ed9 m\u00e3 ngu\u1ed3n, th\u01b0 vi\u1ec7n, bi\u1ebfn m\u00f4i tr\u01b0\u1eddng v\u00e0 c\u00e1c thi\u1ebft l\u1eadp h\u1ec7 th\u1ed1ng c\u1ea7n thi\u1ebft \u0111\u1ec3 ch\u1ea1y m\u1ed9t \u1ee9ng d\u1ee5ng. N\u00f3 \u0111\u00f3ng vai tr\u00f2 nh\u01b0 m\u1ed9t &#8220;b\u1ea3n thi\u1ebft k\u1ebf&#8221; t\u0129nh \u0111\u01b0\u1ee3c Docker Engine s\u1eed d\u1ee5ng \u0111\u1ec3 kh\u1edfi t\u1ea1o ra<\/p>\n","protected":false},"author":2,"featured_media":41155,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[159],"tags":[],"class_list":["post-41151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kien-thuc-docker"],"_links":{"self":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/41151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/comments?post=41151"}],"version-history":[{"count":3,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/41151\/revisions"}],"predecessor-version":[{"id":41156,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/posts\/41151\/revisions\/41156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media\/41155"}],"wp:attachment":[{"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/media?parent=41151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/categories?post=41151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/interdata.vn\/blog\/wp-json\/wp\/v2\/tags?post=41151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}