{"id":91547,"date":"2025-09-27T21:38:31","date_gmt":"2025-09-27T14:38:31","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=91547"},"modified":"2025-12-10T14:18:29","modified_gmt":"2025-12-10T07:18:29","slug":"cach-trien-khai-mongodb-docker","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/","title":{"rendered":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">N\u1ed9i dung b\u00e0i vi\u1ebft<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Tong_quan_ve_MongoDB\" >T\u1ed5ng quan v\u1ec1 MongoDB<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Tong_quan_ve_Docker\" >T\u1ed5ng quan v\u1ec1 Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Trien_khai_va_chay_MongoDB_bang_Docker\" >Tri\u1ec3n khai v\u00e0 ch\u1ea1y MongoDB b\u1eb1ng Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Mot_so_thao_tac_quan_ly_MongoDB_tren_Docker\" >M\u1ed9t s\u1ed1 thao t\u00e1c qu\u1ea3n l\u00fd MongoDB tr\u00ean Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Mot_so_van_de_thuong_gap_khi_cai_dat_MongoDB_bang_Docker\" >M\u1ed9t s\u1ed1 v\u1ea5n \u0111\u1ec1 th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t MongoDB b\u1eb1ng Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Cau_hoi_thuong_gap_ve_MongoDB_Docker\" >C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 MongoDB Docker<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#Tong_ket\" >T\u1ed5ng k\u1ebft<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong><em>Docker l\u00e0 m\u1ed9t trong nh\u1eefng c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn \u0111\u1ec3 tri\u1ec3n khai \u1ee9ng d\u1ee5ng, v\u00e0 MongoDB &#8211; m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL m\u1ea1nh m\u1ebd c\u0169ng kh\u00f4ng ngo\u1ea1i l\u1ec7 v\u1edbi s\u1ef1 ph\u1ed5 bi\u1ebfn nh\u1edd t\u00ednh linh ho\u1ea1t v\u00e0 hi\u1ec7u n\u0103ng cao. Vi\u1ec7c k\u1ebft h\u1ee3p Docker v\u1edbi MongoDB, hay n\u00f3i c\u00e1ch kh\u00e1c l\u00e0 ch\u1ea1y MongoDB trong container kh\u00f4ng ch\u1ec9 gi\u00fap vi\u1ec7c th\u1eed nghi\u1ec7m, ph\u00e1t tri\u1ec3n tr\u1edf n\u00ean d\u1ec5 d\u00e0ng m\u00e0 c\u00f2n gi\u00fap tri\u1ec3n khai m\u00e0 kh\u00f4ng lo v\u1ec1 xung \u0111\u1ed9t ph\u1ea7n m\u1ec1m hay m\u00f4i tr\u01b0\u1eddng.<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ecdc b\u00e0i vi\u1ebft n\u00e0y \u0111\u1ec3 hi\u1ec3u r\u00f5 h\u01a1n v\u1ec1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>C\u00e1ch tri\u1ec3n khai MongoDB b\u1eb1ng Docker<\/li>\n\n\n\n<li>Qu\u1ea3n l\u00fd MongoDB v\u1edbi Docker<\/li>\n\n\n\n<li>M\u1ed9t s\u1ed1 v\u1ea5n \u0111\u1ec1 th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t MongoDB b\u1eb1ng Docker<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-quan-v\u1ec1-mongodb\"><span class=\"ez-toc-section\" id=\"Tong_quan_ve_MongoDB\"><\/span><strong>T\u1ed5ng quan v\u1ec1 MongoDB<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>MongoDB l\u00e0 m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL d\u1ea1ng document (document-oriented database) v\u00e0 l\u01b0u tr\u1eef d\u1eef li\u1ec7u d\u01b0\u1edbi d\u1ea1ng c\u00e1c document BSON (Binary JSON). BSON l\u00e0 phi\u00ean b\u1ea3n binary c\u1ee7a JSON, \u0111\u01b0\u1ee3c t\u1ed1i \u01b0u h\u00f3a cho hi\u1ec7u su\u1ea5t l\u01b0u tr\u1eef v\u00e0 truy v\u1ea5n, \u0111\u1ed3ng th\u1eddi h\u1ed7 tr\u1ee3 c\u00e1c ki\u1ec3u d\u1eef li\u1ec7u b\u1ed5 sung nh\u01b0 Date, ObjectId, v\u00e0 Binary data m\u00e0 JSON thu\u1ea7n t\u00fay kh\u00f4ng c\u00f3.<\/p>\n\n\n\n<p>Kh\u00e1c v\u1edbi c\u01a1 s\u1edf d\u1eef li\u1ec7u quan h\u1ec7 (RDBMS) truy\u1ec1n th\u1ed1ng, MongoDB kh\u00f4ng y\u00eau c\u1ea7u schema c\u1ed1 \u0111\u1ecbnh, gi\u00fap ng\u01b0\u1eddi d\u00f9ng d\u1ec5 d\u00e0ng thay \u0111\u1ed5i c\u1ea5u tr\u00fac d\u1eef li\u1ec7u m\u00e0 kh\u00f4ng c\u1ea7n th\u1ef1c hi\u1ec7n c\u00e1c thao t\u00e1c migrate ph\u1ee9c t\u1ea1p.<\/p>\n\n\n\n<p>M\u1ed9t s\u1ed1 t\u00ednh n\u0103ng n\u1ed5i b\u1eadt c\u1ee7a MongoDB bao g\u1ed3m:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L\u01b0u tr\u1eef d\u1eef li\u1ec7u linh ho\u1ea1t:<\/strong> D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c t\u1ed5 ch\u1ee9c theo d\u1ea1ng document, m\u1ed7i document t\u01b0\u01a1ng \u0111\u01b0\u01a1ng m\u1ed9t b\u1ea3n ghi JSON, cho ph\u00e9p l\u01b0u tr\u1eef th\u00f4ng tin ph\u1ee9c t\u1ea1p m\u00e0 kh\u00f4ng c\u1ea7n quan h\u1ec7 nhi\u1ec1u b\u1ea3ng.<\/li>\n\n\n\n<li><strong>Aggregation Framework:<\/strong> Cung c\u1ea5p kh\u1ea3 n\u0103ng truy v\u1ea5n, ph\u00e2n t\u00edch v\u00e0 x\u1eed l\u00fd d\u1eef li\u1ec7u m\u1ea1nh m\u1ebd ngay trong c\u01a1 s\u1edf d\u1eef li\u1ec7u, thay th\u1ebf c\u00e1c thao t\u00e1c ph\u1ee9c t\u1ea1p trong \u1ee9ng d\u1ee5ng.<\/li>\n\n\n\n<li><strong>Replication (Sao ch\u00e9p d\u1eef li\u1ec7u):<\/strong> H\u1ed7 tr\u1ee3 replica set \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c sao l\u01b0u li\u00ean t\u1ee5c v\u00e0 duy tr\u00ec t\u00ednh s\u1eb5n s\u00e0ng cao khi c\u00f3 s\u1ef1 c\u1ed1 ph\u1ea7n c\u1ee9ng hay ph\u1ea7n m\u1ec1m.<\/li>\n\n\n\n<li><strong>Sharding (Ph\u00e2n m\u1ea3nh d\u1eef li\u1ec7u):<\/strong> Cho ph\u00e9p ph\u00e2n t\u00e1n d\u1eef li\u1ec7u tr\u00ean nhi\u1ec1u node, gi\u00fap h\u1ec7 th\u1ed1ng d\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng theo chi\u1ec1u ngang khi kh\u1ed1i l\u01b0\u1ee3ng d\u1eef li\u1ec7u t\u0103ng l\u00ean.<\/li>\n\n\n\n<li><strong>Indexing m\u1ea1nh m\u1ebd:<\/strong> H\u1ed7 tr\u1ee3 nhi\u1ec1u lo\u1ea1i index, bao g\u1ed3m single-field, compound, geospatial v\u00e0 text indexes, gi\u00fap truy v\u1ea5n d\u1eef li\u1ec7u nhanh ch\u00f3ng v\u00e0 t\u1ed1i \u01b0u.<\/li>\n\n\n\n<li><strong>H\u1ed7 tr\u1ee3 ACID Transactions:<\/strong> T\u1eeb phi\u00ean b\u1ea3n 4.0 tr\u1edf \u0111i, MongoDB h\u1ed7 tr\u1ee3 h\u1ed7 tr\u1ee3 giao d\u1ecbch ACID \u0111a t\u00e0i li\u1ec7u (multi-document ACID transactions), \u0111\u1ea3m b\u1ea3o t\u00ednh nh\u1ea5t qu\u00e1n d\u1eef li\u1ec7u trong c\u00e1c thao t\u00e1c ph\u1ee9c t\u1ea1p.<\/li>\n<\/ul>\n\n\n\n<p>MongoDB ph\u00f9 h\u1ee3p v\u1edbi nhi\u1ec1u \u1ee9ng d\u1ee5ng t\u1eeb c\u00e1c \u1ee9ng d\u1ee5ng web, mobile, \u0111\u1ebfn c\u00e1c h\u1ec7 th\u1ed1ng big data, ph\u00e2n t\u00edch th\u1eddi gian th\u1ef1c hay c\u00e1c d\u1ef1 \u00e1n y\u00eau c\u1ea7u m\u1edf r\u1ed9ng linh ho\u1ea1t. MongoDB c\u0169ng cung c\u1ea5p MongoDB Atlas &#8211; d\u1ecbch v\u1ee5 cloud database \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd ho\u00e0n to\u00e0n, gi\u00fap tri\u1ec3n khai v\u00e0 v\u1eadn h\u00e0nh d\u1ec5 d\u00e0ng h\u01a1n. V\u1edbi kh\u1ea3 n\u0103ng k\u1ebft h\u1ee3p t\u1ed1c \u0111\u1ed9, t\u00ednh linh ho\u1ea1t v\u00e0 kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng, MongoDB r\u1ea5t \u0111\u01b0\u1ee3c \u01b0a chu\u1ed9ng v\u00e0 l\u00e0 m\u1ed9t trong nh\u1eefng c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL ph\u1ed5 bi\u1ebfn nh\u1ea5t hi\u1ec7n nay.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u0110\u1ecdc chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/mongodb-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">MongoDB l\u00e0 g\u00ec? \u0110\u1ecbnh ngh\u0129a v\u00e0 Hi\u1ec3u r\u00f5 A-Z v\u1ec1 MongoDB<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-quan-v\u1ec1-docker\"><span class=\"ez-toc-section\" id=\"Tong_quan_ve_Docker\"><\/span><strong>T\u1ed5ng quan v\u1ec1 Docker<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Docker l\u00e0 m\u1ed9t n\u1ec1n t\u1ea3ng containerization (\u0111\u00f3ng g\u00f3i \u1ee9ng d\u1ee5ng v\u00e0o container) cho ph\u00e9p tri\u1ec3n khai v\u00e0 ch\u1ea1y \u1ee9ng d\u1ee5ng m\u1ed9t c\u00e1ch nh\u1ea5t qu\u00e1n v\u00e0 c\u00f3 th\u1ec3 di \u0111\u1ed9ng gi\u1eefa c\u00e1c m\u00f4i tr\u01b0\u1eddng kh\u00e1c nhau, t\u1eeb m\u00e1y t\u00ednh c\u00e1 nh\u00e2n, server on-premises \u0111\u1ebfn c\u00e1c m\u00f4i tr\u01b0\u1eddng \u0111\u00e1m m\u00e2y.<\/p>\n\n\n\n<p>C\u00e1c kh\u00e1i ni\u1ec7m ch\u00ednh trong Docker:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Container<\/strong>: L\u00e0 m\u00f4i tr\u01b0\u1eddng c\u00f4 l\u1eadp \u0111\u1ec3 ch\u1ea1y \u1ee9ng d\u1ee5ng, bao g\u1ed3m \u1ee9ng d\u1ee5ng, c\u00e1c th\u01b0 vi\u1ec7n, g\u00f3i ph\u1ea7n m\u1ec1m h\u1ed7 tr\u1ee3 (dependencies) v\u00e0 c\u00e1c thi\u1ebft l\u1eadp c\u1ea7n thi\u1ebft. C\u00e1c container ch\u1ea1y \u0111\u1ed9c l\u1eadp nhau, kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn h\u1ec7 \u0111i\u1ec1u h\u00e0nh ch\u1ee7 ho\u1eb7c c\u00e1c container kh\u00e1c.<\/li>\n\n\n\n<li><strong>Image<\/strong>: L\u00e0 b\u1ea3n sao t\u0129nh c\u1ee7a m\u1ed9t container, ch\u1ee9a lightweight OS (h\u1ec7 \u0111i\u1ec1u h\u00e0nh t\u1ed1i gi\u1ea3n ch\u1ec9 bao g\u1ed3m nh\u1eefng th\u00e0nh ph\u1ea7n c\u1ed1t l\u00f5i c\u1ea7n thi\u1ebft), \u1ee9ng d\u1ee5ng v\u00e0 c\u00e1c ph\u1ea7n m\u1ec1m h\u1ed7 tr\u1ee3 (dependencies). Ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 t\u1ea1o nhi\u1ec1u container kh\u00e1c nhau t\u1eeb c\u00f9ng m\u1ed9t image.<\/li>\n\n\n\n<li><strong>Dockerfile<\/strong>: L\u00e0 file text ch\u1ee9a c\u00e1c h\u01b0\u1edbng d\u1eabn \u0111\u1ec3 build Docker image t\u1ef1 \u0111\u1ed9ng, \u0111\u1ecbnh ngh\u0129a c\u00e1c b\u01b0\u1edbc c\u00e0i \u0111\u1eb7t, c\u1ea5u h\u00ecnh m\u00f4i tr\u01b0\u1eddng v\u00e0 \u1ee9ng d\u1ee5ng.<\/li>\n\n\n\n<li><strong>Docker Hub<\/strong>: L\u00e0 kho l\u01b0u tr\u1eef c\u00e1c Docker image, n\u01a1i ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 t\u1ea3i (pull) image t\u1eeb c\u1ed9ng \u0111\u1ed3ng ho\u1eb7c t\u1eeb nh\u00e0 cung c\u1ea5p ch\u00ednh th\u1ee9c.<\/li>\n\n\n\n<li><strong>Volume (\u1ed5 l\u01b0u tr\u1eef)<\/strong>: L\u00e0 n\u01a1i l\u01b0u tr\u1eef d\u1eef li\u1ec7u b\u1ec1n v\u1eefng &#8211; ngh\u0129a l\u00e0 d\u1eef li\u1ec7u kh\u00f4ng b\u1ecb m\u1ea5t khi container d\u1eebng ho\u1eb7c b\u1ecb x\u00f3a, gi\u00fap b\u1ea3o v\u1ec7 d\u1eef li\u1ec7u quan tr\u1ecdng c\u1ee7a \u1ee9ng d\u1ee5ng.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p><em>\u0110\u1ecdc chi ti\u1ebft: <strong><a href=\"https:\/\/itviec.com\/blog\/docker-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker l\u00e0 g\u00ec? H\u00e3y \u0111\u1ec3 Senior DevOps Engineer tr\u1ea3 l\u1eddi cho b\u1ea1n!<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mongodb-docker-container-la-gi\"><strong>MongoDB Docker Container l\u00e0 g\u00ec?<\/strong><\/h3>\n\n\n\n<p>MongoDB Docker Container l\u00e0 m\u1ed9t container Docker \u0111\u00e3 c\u00e0i s\u1eb5n MongoDB, gi\u00fap:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tri\u1ec3n khai MongoDB nhanh ch\u00f3ng m\u00e0 kh\u00f4ng c\u1ea7n c\u00e0i tr\u1ef1c ti\u1ebfp tr\u00ean m\u00e1y.<\/li>\n\n\n\n<li>Ch\u1ea1y nhi\u1ec1u b\u1ea3n MongoDB \u0111\u1ed9c l\u1eadp tr\u00ean c\u00f9ng m\u1ed9t m\u00e1y m\u00e0 kh\u00f4ng xung \u0111\u1ed9t.<\/li>\n\n\n\n<li>C\u00f4 l\u1eadp m\u00f4i tr\u01b0\u1eddng MongoDB, tr\u00e1nh \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn h\u1ec7 th\u1ed1ng ch\u1ee7.<\/li>\n\n\n\n<li>D\u1ec5 d\u00e0ng m\u1edf r\u1ed9ng ho\u1eb7c qu\u1ea3n l\u00fd MongoDB nh\u1edd Docker.<\/li>\n\n\n\n<li>K\u1ebft h\u1ee3p v\u1edbi volume \u0111\u1ec3 l\u01b0u d\u1eef li\u1ec7u MongoDB l\u00e2u d\u00e0i, ngay c\u1ea3 khi container b\u1ecb d\u1eebng ho\u1eb7c x\u00f3a.<\/li>\n\n\n\n<li>Tri\u1ec3n khai nh\u1ea5t qu\u00e1n gi\u1eefa c\u00e1c m\u00f4i tr\u01b0\u1eddng development, testing v\u00e0 production.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5 khi ch\u1ea1y l\u1ec7nh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --name my-mongodb -p 27017:27017 mongo<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>docker run<\/code>: T\u1ea1o v\u00e0 ch\u1ea1y m\u1ed9t container m\u1edbi.<\/li>\n\n\n\n<li><code>-d<\/code>: Ch\u1ea1y container \u1edf ch\u1ebf \u0111\u1ed9 detached (t\u00e1ch n\u1ec1n, kh\u00f4ng chi\u1ebfm terminal).<\/li>\n\n\n\n<li><code>--name my-mongodb<\/code>: \u0110\u1eb7t t\u00ean container l\u00e0 \u201c<em>my-mongodb<\/em>&#8220;.<\/li>\n\n\n\n<li><code>-p 27017:27017<\/code>: Map c\u1ed5ng port 27017 c\u1ee7a container sang m\u00e1y ch\u1ee7.<\/li>\n\n\n\n<li><code>mongo<\/code>: Image ch\u00ednh th\u1ee9c c\u1ee7a MongoDB t\u1eeb Docker Hub.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>L\u1ec7nh v\u1edbi volume \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --name my-mongodb -p 27017:27017 -v mongo-data:\/data\/db mongo<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3 -v mongo-data:\/data\/db t\u1ea1o volume c\u00f3 t\u00ean mongo-data \u0111\u1ec3 l\u01b0u tr\u1eef d\u1eef li\u1ec7u MongoDB b\u1ec1n v\u1eefng.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-tri\u1ec3n-khai-va-ch\u1ea1y-mongodb-b\u1eb1ng-docker\"><span class=\"ez-toc-section\" id=\"Trien_khai_va_chay_MongoDB_bang_Docker\"><\/span><strong>Tri\u1ec3n khai v\u00e0 ch\u1ea1y MongoDB b\u1eb1ng Docker<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0110\u1ec3 c\u00f3 th\u1ec3 tri\u1ec3n khai v\u00e0 s\u1eed d\u1ee5ng MongoDB b\u1eb1ng docker ta c\u1ea7n chu\u1ea9n b\u1ecb s\u1eb5n docker tr\u00ean m\u00e1y. B\u1ea1n c\u00f3 th\u1ec3 tham kh\u1ea3o trang web ch\u00ednh th\u1ee9c c\u1ee7a Docker \u0111\u1ec3 t\u1ea3i phi\u00ean b\u1ea3n ph\u00f9 h\u1ee3p v\u1edbi h\u1ec7 \u0111i\u1ec1u h\u00e0nh c\u1ee7a m\u00ecnh <a href=\"https:\/\/www.docker.com\/products\/docker-desktop\/\" target=\"_blank\" rel=\"noreferrer noopener\">t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-ch\u1ea1y-mongodb-trong-docker\"><strong>1. Ch\u1ea1y MongoDB trong Docker<\/strong><\/h3>\n\n\n\n<p><strong>C\u00e1ch 1: S\u1eed d\u1ee5ng image ch\u00ednh th\u1ee9c mongo (\u0110\u01b0\u1ee3c khuy\u00ean d\u00f9ng)<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># T\u1ea3i v\u00e0 ch\u1ea1y MongoDB phi\u00ean b\u1ea3n m\u1edbi nh\u1ea5t\ndocker run --name mongodb -d mongo\n\n# Ho\u1eb7c ch\u1ec9 \u0111\u1ecbnh phi\u00ean b\u1ea3n c\u1ee5 th\u1ec3\ndocker run --name mongodb -d mongo:7.0<\/code><\/pre>\n\n\n\n<p><strong>C\u00e1ch 2: S\u1eed d\u1ee5ng MongoDB Community Server<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export MONGODB_VERSION=6.0-ubi8\ndocker run --name mongodb -d mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>-d<\/code> (detached mode): ch\u1ea1y container \u1edf ch\u1ebf \u0111\u1ed9 n\u1ec1n, kh\u00f4ng chi\u1ebfm c\u1eeda s\u1ed5 terminal.<\/li>\n\n\n\n<li><code>--name mongodb<\/code>: \u0111\u1eb7t t\u00ean container \u0111\u1ec3 d\u1ec5 qu\u1ea3n l\u00fd.<\/li>\n\n\n\n<li><code>mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code>: l\u00e0 image MongoDB ch\u00ednh th\u1ee9c, v\u1edbi phi\u00ean b\u1ea3n 6.0 d\u1ef1a tr\u00ean h\u1ec7 \u0111i\u1ec1u h\u00e0nh Red Hat UBI.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>N\u1ebfu mu\u1ed1n k\u1ebft n\u1ed1i MongoDB t\u1eeb c\u00e1c \u1ee9ng d\u1ee5ng kh\u00e1c tr\u00ean m\u00e1y t\u00ednh, ta \u00e1nh x\u1ea1 c\u1ed5ng 27017:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mongodb -d -p 27017:27017 mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code><\/pre>\n\n\n\n<p>=&gt; B\u00e2y gi\u1edd, b\u1ea1n \u0111\u00e3 c\u00f3 th\u1ec3 truy c\u1eadp MongoDB qua <code>mongodb:\/\/localhost:27017<\/code> b\u1eb1ng MongoDB Compass ho\u1eb7c Mongo Shell.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-l\u01b0u-tr\u1eef-d\u1eef-li\u1ec7u-lau-dai\"><strong>2. L\u01b0u tr\u1eef d\u1eef li\u1ec7u l\u00e2u d\u00e0i<\/strong><\/h3>\n\n\n\n<p>D\u1eef li\u1ec7u trong container s\u1ebd m\u1ea5t khi ta x\u00f3a container. \u0110\u1ec3 gi\u1eef d\u1eef li\u1ec7u l\u00e2u d\u00e0i, ta c\u00f3 th\u1ec3 d\u00f9ng volume Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mongodb -d -p 27017:27017 -v $(pwd)\/data:\/data\/db mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>-v $(pwd)\/data:\/data\/db<\/code>: \u00e1nh x\u1ea1 th\u01b0 m\u1ee5c <code>data<\/code> tr\u00ean m\u00e1y v\u00e0o <code>\/data\/db<\/code> trong container. D\u1eef li\u1ec7u MongoDB s\u1ebd \u0111\u01b0\u1ee3c l\u01b0u \u1edf \u0111\u00e2y v\u00e0 kh\u00f4ng b\u1ecb m\u1ea5t khi container b\u1ecb x\u00f3a ho\u1eb7c kh\u1edfi \u0111\u1ed9ng l\u1ea1i.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-ch\u1ea1y-mongodb-cung-m\u1ea1ng-v\u1edbi-cac-container-khac\"><strong>3. Ch\u1ea1y MongoDB c\u00f9ng m\u1ea1ng v\u1edbi c\u00e1c container kh\u00e1c<\/strong><\/h3>\n\n\n\n<p>N\u1ebfu \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n c\u0169ng ch\u1ea1y trong container, b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ec3 MongoDB tham gia c\u00f9ng m\u1ed9t Docker network nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mongodb -d --network mongodb mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code><\/pre>\n\n\n\n<p>=&gt; C\u00e1c container trong c\u00f9ng m\u1ea1ng c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i MongoDB b\u1eb1ng <code>mongodb:\/\/mongodb:27017<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-t\u1ea1o-user-v\u1edbi-quy\u1ec1n-root\"><strong>4. T\u1ea1o user v\u1edbi quy\u1ec1n root<\/strong><\/h3>\n\n\n\n<p>Ta c\u00f3 th\u1ec3 kh\u1edfi t\u1ea1o MongoDB v\u1edbi t\u00e0i kho\u1ea3n root b\u1eb1ng bi\u1ebfn m\u00f4i tr\u01b0\u1eddng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --name mongodb -d -p 27017:27017 \\\n  -e MONGO_INITDB_ROOT_USERNAME=user \\\n  -e MONGO_INITDB_ROOT_PASSWORD=pass \\\n  mongodb\/mongodb-community-server:$MONGODB_VERSION<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>MONGO_INITDB_ROOT_USERNAME<\/code> v\u00e0 <code>MONGO_INITDB_ROOT_PASSWORD<\/code> gi\u00fap t\u1ea1o user v\u1edbi quy\u1ec1n qu\u1ea3n tr\u1ecb (root).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-5-qu\u1ea3n-ly-d\u1eef-li\u1ec7u-t\u1eeb-container-khac\"><strong>5. Qu\u1ea3n l\u00fd d\u1eef li\u1ec7u t\u1eeb container kh\u00e1c<\/strong><\/h3>\n\n\n\n<p>Ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 \u0111i k\u00e8m MongoDB nh\u01b0 <code>mongosh<\/code>, <code>mongoimport<\/code> ho\u1eb7c <code>mongoexport<\/code> t\u1eeb m\u1ed9t container kh\u00e1c. V\u00ed d\u1ee5, \u0111\u1ec3 xu\u1ea5t d\u1eef li\u1ec7u t\u1eeb m\u1ed9t collection ra file JSON:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it -v $(pwd):\/tmp mongodb\/mongodb-community-server:$MONGODB_VERSION \\\n  mongoexport --collection=users --out=\/tmp\/users.json \"mongodb:\/\/user:pass@localhost:27017\/mydb\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>-v $(pwd):\/tmp<\/code>: \u00e1nh x\u1ea1 th\u01b0 m\u1ee5c hi\u1ec7n t\u1ea1i tr\u00ean m\u00e1y host v\u00e0o \/tmp trong container \u0111\u1ec3 l\u01b0u file JSON.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-m\u1ed9t-s\u1ed1-thao-tac-qu\u1ea3n-ly-mongodb-tren-docker\"><span class=\"ez-toc-section\" id=\"Mot_so_thao_tac_quan_ly_MongoDB_tren_Docker\"><\/span><strong>M\u1ed9t s\u1ed1 thao t\u00e1c qu\u1ea3n l\u00fd MongoDB tr\u00ean Docker<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-truy-c\u1eadp-mongodb-t\u1eeb-container-khac\"><strong>1. Truy c\u1eadp MongoDB t\u1eeb container kh\u00e1c<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ec3 qu\u1ea3n l\u00fd d\u1eef li\u1ec7u ho\u1eb7c ch\u1ea1y c\u00e1c l\u1ec7nh MongoDB, ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng m\u1ed9t container kh\u00e1c ch\u1ee9a c\u00f4ng c\u1ee5 Mongo Shell (mongosh) \u0111\u1ec3 thao t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi c\u01a1 s\u1edf d\u1eef li\u1ec7u:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it --network mongodb \\\n  mongodb\/mongodb-community-server:$MONGODB_VERSION \\\n  mongosh --uri=\"mongodb:\/\/user:pass@mongodb:27017\/mydb\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>--network mongodb<\/code> cho ph\u00e9p container m\u1edbi k\u1ebft n\u1ed1i tr\u1ef1c ti\u1ebfp v\u1edbi container MongoDB trong c\u00f9ng m\u1ea1ng.<\/li>\n\n\n\n<li><code>mongosh<\/code> l\u00e0 c\u00f4ng c\u1ee5 d\u00f2ng l\u1ec7nh \u0111\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi MongoDB, nh\u01b0 t\u1ea1o c\u01a1 s\u1edf d\u1eef li\u1ec7u, collection ho\u1eb7c truy v\u1ea5n d\u1eef li\u1ec7u. S\u1eed d\u1ee5ng tham s\u1ed1 &#8211;uri \u0111\u1ec3 ch\u1ec9 \u0111\u1ecbnh chu\u1ed7i k\u1ebft n\u1ed1i, \u0111\u1ea3m b\u1ea3o t\u01b0\u01a1ng th\u00edch v\u1edbi c\u00e1c phi\u00ean b\u1ea3n MongoDB m\u1edbi h\u01a1n.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-nh\u1eadp-va-xu\u1ea5t-d\u1eef-li\u1ec7u\"><strong>2. Nh\u1eadp v\u00e0 xu\u1ea5t d\u1eef li\u1ec7u<\/strong><\/h3>\n\n\n\n<p>Ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 \u0111i k\u00e8m MongoDB \u0111\u1ec3 nh\u1eadp (mongoimport) ho\u1eb7c xu\u1ea5t (mongoexport) d\u1eef li\u1ec7u nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Xu\u1ea5t d\u1eef li\u1ec7u ra file JSON:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it -v $(pwd):\/tmp \\\n  mongodb\/mongodb-community-server:$MONGODB_VERSION \\\n  mongoexport --collection=users --out=\/tmp\/users.json --uri=\"mongodb:\/\/user:pass@mongodb:27017\/mydb\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nh\u1eadp d\u1eef li\u1ec7u t\u1eeb file JSON:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it -v $(pwd):\/tmp \\\n  mongodb\/mongodb-community-server:$MONGODB_VERSION \\\n  mongoimport --drop --collection=users --uri=\"mongodb:\/\/user:pass@mongodb:27017\/mydb\" \/tmp\/users.json<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>-v $(pwd):\/tmp<\/code> \u00e1nh x\u1ea1 th\u01b0 m\u1ee5c hi\u1ec7n t\u1ea1i tr\u00ean m\u00e1y host v\u00e0o container \u0111\u1ec3 truy c\u1eadp file.<\/li>\n\n\n\n<li>&#8211;uri: Ch\u1ec9 \u0111\u1ecbnh chu\u1ed7i k\u1ebft n\u1ed1i MongoDB, thay v\u00ec t\u00e1ch ri\u00eang host, port, v\u00e0 database, \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u01b0\u01a1ng th\u00edch.<\/li>\n\n\n\n<li><code>--drop<\/code> x\u00f3a collection hi\u1ec7n t\u1ea1i tr\u01b0\u1edbc khi nh\u1eadp d\u1eef li\u1ec7u m\u1edbi.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-s\u1eed-d\u1ee5ng-docker-compose-d\u1ec3-qu\u1ea3n-ly-nhi\u1ec1u-container\"><strong>3. S\u1eed d\u1ee5ng Docker Compose \u0111\u1ec3 qu\u1ea3n l\u00fd nhi\u1ec1u container<\/strong><\/h3>\n\n\n\n<p>N\u1ebfu \u1ee9ng d\u1ee5ng c\u1ee7a b\u1ea1n v\u00e0 MongoDB c\u00f9ng ch\u1ea1y trong container th\u00ec Docker Compose s\u1ebd gi\u00fap kh\u1edfi \u0111\u1ed9ng, d\u1eebng v\u00e0 qu\u1ea3n l\u00fd ch\u00fang c\u00f9ng l\u00fac nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u00ed d\u1ee5 v\u1edbi file <code>docker-compose.yaml<\/code>:&nbsp;<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>version: '3'\nservices:\n  myapp:\n    image: myapp:1.0\n    environment:\n      - MONGODB_CONNSTRING=mongodb:\/\/user:pass@mongodb:27017\/mydb\n      # truy\u1ec1n chu\u1ed7i k\u1ebft n\u1ed1i MongoDB cho \u1ee9ng d\u1ee5ng th\u00f4ng qua bi\u1ebfn m\u00f4i tr\u01b0\u1eddng\n    depends_on:\n      - mongodb\n      # \u0111\u1ea3m b\u1ea3o container MongoDB ch\u1ea1y tr\u01b0\u1edbc \u1ee9ng d\u1ee5ng\n\n  mongodb:\n    image: mongodb\/mongodb-community-server:6.0-ubi8\n    environment:\n      - MONGO_INITDB_ROOT_USERNAME=user\n      - MONGO_INITDB_ROOT_PASSWORD=pass\n      # t\u1ea1o t\u00e0i kho\u1ea3n root khi kh\u1edfi t\u1ea1o MongoDB\n    volumes:\n      - .\/data:\/data\/db\n      # l\u01b0u d\u1eef li\u1ec7u ra th\u01b0 m\u1ee5c data tr\u00ean m\u00e1y host \u0111\u1ec3 kh\u00f4ng m\u1ea5t khi container b\u1ecb x\u00f3a<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>V\u00e0 kh\u1edfi \u0111\u1ed9ng h\u1ec7 th\u1ed1ng v\u1edbi l\u1ec7nh:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>docker-compose up\n# Docker Compose s\u1ebd ch\u1ea1y \u0111\u1ed3ng th\u1eddi container \u1ee9ng d\u1ee5ng v\u00e0 MongoDB<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-4-d\u1eebng-va-xoa-container\"><strong>4. D\u1eebng v\u00e0 x\u00f3a container<\/strong><\/h3>\n\n\n\n<p>Ta c\u0169ng c\u00f3 th\u1ec3 d\u1eebng ho\u1eb7c x\u00f3a container MongoDB khi c\u1ea7n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker stop mongodb   # d\u1eebng container MongoDB\ndocker rm mongodb     # x\u00f3a container MongoDB\n# n\u1ebfu d\u00f9ng volume, d\u1eef li\u1ec7u v\u1eabn \u0111\u01b0\u1ee3c gi\u1eef an to\u00e0n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-m\u1ed9t-s\u1ed1-v\u1ea5n-d\u1ec1-th\u01b0\u1eddng-g\u1eb7p-khi-cai-d\u1eb7t-mongodb-b\u1eb1ng-docker\"><span class=\"ez-toc-section\" id=\"Mot_so_van_de_thuong_gap_khi_cai_dat_MongoDB_bang_Docker\"><\/span><strong>M\u1ed9t s\u1ed1 v\u1ea5n \u0111\u1ec1 th\u01b0\u1eddng g\u1eb7p khi c\u00e0i \u0111\u1eb7t MongoDB b\u1eb1ng Docker<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-1-container-mongodb-khong-kh\u1edfi-d\u1ed9ng\"><strong>1. Container MongoDB kh\u00f4ng kh\u1edfi \u0111\u1ed9ng<\/strong><\/h3>\n\n\n\n<p>N\u1ebfu container MongoDB kh\u00f4ng ch\u1ea1y \u0111\u01b0\u1ee3c, h\u00e3y ki\u1ec3m tra l\u1ea1i c\u00e1c l\u1ec7nh Docker m\u00e0 b\u1ea1n d\u00f9ng \u0111\u1ec3 kh\u1edfi t\u1ea1o container. C\u1ee5 th\u1ec3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ea3m b\u1ea3o t\u00ean image (Docker image) \u0111\u00fang. V\u00ed d\u1ee5: mongodb\/mongodb-community-server:6.0-ubi8. Ki\u1ec3m tra danh s\u00e1ch image tr\u00ean Docker Hub ho\u1eb7c ch\u1ea1y docker images \u0111\u1ec3 x\u00e1c nh\u1eadn image \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i.<\/li>\n\n\n\n<li>Ki\u1ec3m tra port \u00e1nh x\u1ea1 (v\u00ed d\u1ee5 m\u1eb7c \u0111\u1ecbnh MongoDB d\u00f9ng 27017).<\/li>\n\n\n\n<li>Ki\u1ec3m tra c\u00e1c bi\u1ebfn m\u00f4i tr\u01b0\u1eddng (environment variables) nh\u01b0 username v\u00e0 password. N\u1ebfu thi\u1ebfu ho\u1eb7c sai, container c\u00f3 th\u1ec3 kh\u00f4ng kh\u1edfi t\u1ea1o \u0111\u01b0\u1ee3c c\u01a1 s\u1edf d\u1eef li\u1ec7u.<\/li>\n<\/ul>\n\n\n\n<p>Ta c\u00f3 th\u1ec3 xem log c\u1ee7a container \u0111\u1ec3 bi\u1ebft chi ti\u1ebft l\u1ed7i nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs mongodb  # ki\u1ec3m tra th\u00f4ng b\u00e1o l\u1ed7i t\u1eeb container<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-2-v\u1ea5n-d\u1ec1-k\u1ebft-n\u1ed1i\"><strong>2. V\u1ea5n \u0111\u1ec1 k\u1ebft n\u1ed1i<\/strong><\/h3>\n\n\n\n<p>N\u1ebfu \u1ee9ng d\u1ee5ng kh\u00f4ng k\u1ebft n\u1ed1i \u0111\u01b0\u1ee3c t\u1edbi MongoDB trong Docker, b\u1ea1n n\u00ean:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u1ea3m b\u1ea3o hostname v\u00e0 port \u0111\u00fang. N\u1ebfu MongoDB ch\u1ea1y trong container, s\u1eed d\u1ee5ng t\u00ean container (v\u00ed d\u1ee5: mongodb) thay v\u00ec localhost. C\u1ed5ng m\u1eb7c \u0111\u1ecbnh l\u00e0 27017.<\/li>\n\n\n\n<li>Ki\u1ec3m tra m\u1ea1ng Docker (Docker network) \u0111\u1ec3 container \u1ee9ng d\u1ee5ng v\u00e0 MongoDB c\u00f3 th\u1ec3 giao ti\u1ebfp. Ch\u1ea1y l\u1ec7nh docker network ls \u0111\u1ec3 xem danh s\u00e1ch m\u1ea1ng, v\u00e0 \u0111\u1ea3m b\u1ea3o c\u1ea3 hai container c\u00f9ng thu\u1ed9c m\u1ed9t m\u1ea1ng (v\u00ed d\u1ee5: &#8211;network mongodb-network).<\/li>\n\n\n\n<li>X\u00e1c nh\u1eadn l\u1ea1i th\u00f4ng tin \u0111\u0103ng nh\u1eadp (username, password) tr\u01b0\u1edbc khi b\u1eadt t\u00ednh n\u0103ng x\u00e1c th\u1ef1c. N\u1ebfu ch\u01b0a b\u1eadt x\u00e1c th\u1ef1c, th\u1eed k\u1ebft n\u1ed1i m\u00e0 kh\u00f4ng c\u1ea7n th\u00f4ng tin \u0111\u0103ng nh\u1eadp (mongodb:\/\/mongodb:27017\/mydb).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-3-d\u1eef-li\u1ec7u-b\u1ecb-m\u1ea5t-khi-container-d\u1eebng\"><strong>3. D\u1eef li\u1ec7u b\u1ecb m\u1ea5t khi container d\u1eebng<\/strong><\/h3>\n\n\n\n<p>Theo m\u1eb7c \u0111\u1ecbnh, d\u1eef li\u1ec7u trong container kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef l\u00e2u d\u00e0i. N\u1ebfu container b\u1ecb x\u00f3a, d\u1eef li\u1ec7u s\u1ebd m\u1ea5t. Tuy nhi\u00ean ta c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Docker volumes ho\u1eb7c host bind mounts \u0111\u1ec3 l\u01b0u d\u1eef li\u1ec7u ra b\u00ean ngo\u00e0i container nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d -v $(pwd)\/data:\/data\/db --name mongodb mongo\n# D\u1eef li\u1ec7u MongoDB trong container \u0111\u01b0\u1ee3c l\u01b0u t\u1ea1i th\u01b0 m\u1ee5c .\/data tr\u00ean m\u00e1y ch\u1ee7<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-mongodb-docker\"><span class=\"ez-toc-section\" id=\"Cau_hoi_thuong_gap_ve_MongoDB_Docker\"><\/span><strong>C\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 MongoDB Docker<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mongodb-docker-co-phu-h\u1ee3p-cho-production-khong\"><strong>MongoDB Docker c\u00f3 ph\u00f9 h\u1ee3p cho production kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>C\u00e2u tr\u1ea3 l\u1eddi l\u00e0 <strong>C\u00f3<\/strong>, n\u1ebfu b\u1ea1n \u00e1p d\u1ee5ng \u0111\u00fang c\u00e1c bi\u1ec7n ph\u00e1p tri\u1ec3n khai v\u00e0 b\u1ea3o m\u1eadt sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>L\u01b0u d\u1eef li\u1ec7u ra ngo\u00e0i container b\u1eb1ng Docker volume ho\u1eb7c bind mount (v\u00ed d\u1ee5: <code>-v mongodb-data:\/data\/db<\/code>) \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u kh\u00f4ng b\u1ecb m\u1ea5t khi container d\u1eebng.<\/li>\n\n\n\n<li>C\u1ea5p \u0111\u1ee7 t\u00e0i nguy\u00ean (CPU, RAM, disk I\/O) cho container \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o hi\u1ec7u su\u1ea5t. V\u00ed d\u1ee5: S\u1eed d\u1ee5ng <code>docker run --cpus=\"2\" --memory=\"4g\"<\/code> \u0111\u1ec3 gi\u1edbi h\u1ea1n t\u00e0i nguy\u00ean.<\/li>\n\n\n\n<li>B\u1eadt x\u00e1c th\u1ef1c v\u00e0 s\u1eed d\u1ee5ng SSL\/TLS \u0111\u1ec3 b\u1ea3o m\u1eadt k\u1ebft n\u1ed1i. \u0110\u1ea3m b\u1ea3o gi\u00e1m s\u00e1t hi\u1ec7u su\u1ea5t (s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 nh\u01b0 Prometheus ho\u1eb7c MongoDB Atlas) v\u00e0 sao l\u01b0u \u0111\u1ecbnh k\u1ef3.<\/li>\n\n\n\n<li>C\u1ea5u h\u00ecnh m\u1ea1ng Docker (v\u00ed d\u1ee5: s\u1eed d\u1ee5ng <code>--network<\/code>) \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o \u1ee9ng d\u1ee5ng v\u00e0 MongoDB giao ti\u1ebfp an to\u00e0n. V\u1edbi c\u00e1c bi\u1ec7n ph\u00e1p n\u00e0y, MongoDB trong Docker ho\u00e0n to\u00e0n ph\u00f9 h\u1ee3p cho m\u00f4i tr\u01b0\u1eddng production, \u0111\u1eb7c bi\u1ec7t trong c\u00e1c h\u1ec7 th\u1ed1ng s\u1eed d\u1ee5ng microservices.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-lam-th\u1ebf-nao-d\u1ec3-backup-d\u1eef-li\u1ec7u-trong-container\"><strong>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 backup d\u1eef li\u1ec7u trong container?<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ec3 backup d\u1eef li\u1ec7u MongoDB trong Docker, ta c\u00f3 th\u1ec3 d\u00f9ng mongoexport ho\u1eb7c mongodump. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -it -v $(pwd)\/backup:\/backup mongodb\/mongodb-community-server:6.0-ubi8 \\\nmongodump --out \/backup\n# \/\/ L\u1ec7nh mongodump sao ch\u00e9p to\u00e0n b\u1ed9 d\u1eef li\u1ec7u MongoDB v\u00e0o th\u01b0 m\u1ee5c \/backup tr\u00ean m\u00e1y host<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>-v $(pwd)\/backup:\/backup<\/code>: g\u1eafn th\u01b0 m\u1ee5c backup tr\u00ean m\u00e1y host v\u00e0o container \u0111\u1ec3 d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c l\u01b0u ra ngo\u00e0i.<\/li>\n\n\n\n<li><code>mongodump<\/code>: c\u00f4ng c\u1ee5 c\u1ee7a MongoDB \u0111\u1ec3 xu\u1ea5t to\u00e0n b\u1ed9 database.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Ngo\u00e0i ra, n\u1ebfu d\u00f9ng Docker volume, ta c\u00f3 th\u1ec3 tr\u1ef1c ti\u1ebfp backup volume b\u1eb1ng c\u00e1c l\u1ec7nh Docker m\u00e0 kh\u00f4ng c\u1ea7n v\u00e0o container.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-mongodb-container-co-h\u1ed7-tr\u1ee3-replica-set-khong\"><strong>MongoDB container c\u00f3 h\u1ed7 tr\u1ee3 replica set kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>MongoDB container c\u00f3 h\u1ed7 tr\u1ee3 replica set, cho ph\u00e9p t\u1ea1o nhi\u1ec1u node MongoDB \u0111\u1ec3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u0103ng t\u00ednh s\u1eb5n s\u00e0ng (availability).<\/li>\n\n\n\n<li>\u0110\u1ea3m b\u1ea3o d\u1eef li\u1ec7u kh\u00f4ng m\u1ea5t khi m\u1ed9t node g\u1eb7p s\u1ef1 c\u1ed1.<\/li>\n<\/ul>\n\n\n\n<p>V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker network create mongo-net\n\ndocker run -d --name mongo1 --network mongo-net -e MONGO_INITDB_REPLICA_SET_NAME=rs0 mongo\ndocker run -d --name mongo2 --network mongo-net -e MONGO_INITDB_REPLICA_SET_NAME=rs0 mongo\ndocker run -d --name mongo3 --network mongo-net -e MONGO_INITDB_REPLICA_SET_NAME=rs0 mongo\n\ndocker exec -it mongo1 mongosh\n# Trong shell MongoDB, kh\u1edfi t\u1ea1o replica set:\nrs.initiate({\n  _id: \"rs0\",\n  members: &#91;\n    { _id: 0, host: \"mongo1:27017\" },\n    { _id: 1, host: \"mongo2:27017\" },\n    { _id: 2, host: \"mongo3:27017\" }\n  ]\n})<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Trong \u0111\u00f3:\n<ul class=\"wp-block-list\">\n<li><code>MONGO_INITDB_REPLICA_SET_NAME=rs0<\/code>: x\u00e1c \u0111\u1ecbnh t\u00ean replica set.<\/li>\n\n\n\n<li><code>docker network create mongo-net<\/code>: c\u00e1c container trong c\u00f9ng network c\u00f3 th\u1ec3 k\u1ebft n\u1ed1i v\u1edbi nhau.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-t\u1ed5ng-k\u1ebft\"><span class=\"ez-toc-section\" id=\"Tong_ket\"><\/span><strong>T\u1ed5ng k\u1ebft<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>K\u1ebft h\u1ee3p MongoDB v\u00e0 Docker l\u00e0 m\u1ed9t l\u1ef1a ch\u1ecdn t\u1ed1i \u01b0u gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian c\u00e0i \u0111\u1eb7t nh\u01b0ng v\u1eabn \u0111\u1ea3m b\u1ea3o hi\u1ec7u su\u1ea5t v\u00e0 t\u00ednh \u1ed5n \u0111\u1ecbnh. T\u1eeb vi\u1ec7c kh\u1edfi t\u1ea1o container, k\u1ebft n\u1ed1i \u1ee9ng d\u1ee5ng, cho \u0111\u1ebfn qu\u1ea3n l\u00fd v\u00e0 kh\u1eafc ph\u1ee5c s\u1ef1 c\u1ed1, t\u1ea5t c\u1ea3 \u0111\u1ec1u c\u00f3 th\u1ec3 th\u1ef1c hi\u1ec7n ch\u1ec9 v\u1edbi v\u00e0i d\u00f2ng l\u1ec7nh.&nbsp;<\/p>\n\n\n\n<p>ITViec hy v\u1ecdng b\u00e0i vi\u1ebft tr\u00ean \u0111\u00e3 cung c\u1ea5p cho b\u1ea1n nh\u1eefng th\u00f4ng tin h\u1eefu \u00edch v\u1ec1 \u201cc\u1eb7p \u0111\u00f4i\u201d MongoDB v\u00e0 Docker.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker l\u00e0 m\u1ed9t trong nh\u1eefng c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn \u0111\u1ec3 tri\u1ec3n khai \u1ee9ng d\u1ee5ng, v\u00e0 MongoDB &#8211; m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL m\u1ea1nh m\u1ebd c\u0169ng kh\u00f4ng ngo\u1ea1i l\u1ec7 v\u1edbi s\u1ef1 ph\u1ed5 bi\u1ebfn nh\u1edd t\u00ednh linh ho\u1ea1t v\u00e0 hi\u1ec7u n\u0103ng cao. Vi\u1ec7c k\u1ebft h\u1ee3p Docker v\u1edbi MongoDB, hay n\u00f3i c\u00e1ch kh\u00e1c l\u00e0 ch\u1ea1y MongoDB trong [&hellip;]<\/p>\n","protected":false},"author":209,"featured_media":91693,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[10353,109],"tags":[],"class_list":["post-91547","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-data","category-chuyen-mon-it"],"blocksy_meta":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.8 (Yoast SEO v27.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container - ITviec Blog<\/title>\n<meta name=\"description\" content=\"Chi ti\u1ebft c\u00e1ch tri\u1ec3n khai MongoDB tr\u00ean Docker: C\u00e1ch c\u00e0i \u0111\u1eb7t, ch\u1ea1y, qu\u1ea3n l\u00fd container hi\u1ec7u qu\u1ea3 v\u00e0 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u lu\u00f4n an to\u00e0n.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container\" \/>\n<meta property=\"og:description\" content=\"Docker l\u00e0 m\u1ed9t trong nh\u1eefng c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn \u0111\u1ec3 tri\u1ec3n khai \u1ee9ng d\u1ee5ng, v\u00e0 MongoDB - m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL m\u1ea1nh m\u1ebd c\u0169ng kh\u00f4ng ngo\u1ea1i l\u1ec7 v\u1edbi s\u1ef1 ph\u1ed5 bi\u1ebfn nh\u1edd\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"ITviec Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ITviec\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-27T14:38:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-10T07:18:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"421\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"M\u1ef9 Duy\u00ean\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ITviec\" \/>\n<meta name=\"twitter:site\" content=\"@ITviec\" \/>\n<meta name=\"twitter:label1\" content=\"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi\" \/>\n\t<meta name=\"twitter:data1\" content=\"M\u1ef9 Duy\u00ean\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container - ITviec Blog","description":"Chi ti\u1ebft c\u00e1ch tri\u1ec3n khai MongoDB tr\u00ean Docker: C\u00e1ch c\u00e0i \u0111\u1eb7t, ch\u1ea1y, qu\u1ea3n l\u00fd container hi\u1ec7u qu\u1ea3 v\u00e0 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u lu\u00f4n an to\u00e0n.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/","og_locale":"vi_VN","og_type":"article","og_title":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container","og_description":"Docker l\u00e0 m\u1ed9t trong nh\u1eefng c\u00f4ng c\u1ee5 ph\u1ed5 bi\u1ebfn \u0111\u1ec3 tri\u1ec3n khai \u1ee9ng d\u1ee5ng, v\u00e0 MongoDB - m\u1ed9t c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL m\u1ea1nh m\u1ebd c\u0169ng kh\u00f4ng ngo\u1ea1i l\u1ec7 v\u1edbi s\u1ef1 ph\u1ed5 bi\u1ebfn nh\u1edd","og_url":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-09-27T14:38:31+00:00","article_modified_time":"2025-12-10T07:18:29+00:00","og_image":[{"width":800,"height":421,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png","type":"image\/png"}],"author":"M\u1ef9 Duy\u00ean","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"M\u1ef9 Duy\u00ean","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"13 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/"},"author":{"name":"M\u1ef9 Duy\u00ean","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/73733c0725c7e39e696a896bd1abe2d7"},"headline":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container","datePublished":"2025-09-27T14:38:31+00:00","dateModified":"2025-12-10T07:18:29+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/"},"wordCount":3189,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png","articleSection":["AI &amp; Data","Chuy\u00ean m\u00f4n IT"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/","url":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/","name":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png","datePublished":"2025-09-27T14:38:31+00:00","dateModified":"2025-12-10T07:18:29+00:00","description":"Chi ti\u1ebft c\u00e1ch tri\u1ec3n khai MongoDB tr\u00ean Docker: C\u00e1ch c\u00e0i \u0111\u1eb7t, ch\u1ea1y, qu\u1ea3n l\u00fd container hi\u1ec7u qu\u1ea3 v\u00e0 \u0111\u1ea3m b\u1ea3o d\u1eef li\u1ec7u lu\u00f4n an to\u00e0n.","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/mongodb-docker-scaled.png","width":800,"height":421,"caption":"MongoDB Docker - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/cach-trien-khai-mongodb-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"AI &amp; Data","item":"https:\/\/itviec.com\/blog\/ai-data\/"},{"@type":"ListItem","position":2,"name":"MongoDB Docker: C\u00e1ch tri\u1ec3n khai nhanh MongoDB v\u1edbi container"}]},{"@type":"WebSite","@id":"https:\/\/itviec.com\/blog\/#website","url":"https:\/\/itviec.com\/blog\/","name":"ITviec Blog","description":"IT Jobs &amp; People in Vietnam","publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/itviec.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"vi"},{"@type":"Organization","@id":"https:\/\/itviec.com\/blog\/#organization","name":"ITviec","url":"https:\/\/itviec.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2018\/12\/itviec-black-square-facebook.png","width":1800,"height":1800,"caption":"ITviec"},"image":{"@id":"https:\/\/itviec.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ITviec","https:\/\/x.com\/ITviec","https:\/\/www.linkedin.com\/company\/itviec","https:\/\/www.youtube.com\/channel\/UCYthAQ3bcGr57M_ag5gHDvQ"]},{"@type":"Person","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/73733c0725c7e39e696a896bd1abe2d7","name":"M\u1ef9 Duy\u00ean","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/Author_Duyen-Tran-120x120.jpg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/Author_Duyen-Tran-120x120.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/Author_Duyen-Tran-120x120.jpg","caption":"M\u1ef9 Duy\u00ean"},"url":"https:\/\/itviec.com\/blog\/author\/my-duyen\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/users\/209"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=91547"}],"version-history":[{"count":2,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91547\/revisions"}],"predecessor-version":[{"id":91694,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91547\/revisions\/91694"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/91693"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=91547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=91547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=91547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}