{"id":91793,"date":"2025-09-28T21:56:20","date_gmt":"2025-09-28T14:56:20","guid":{"rendered":"https:\/\/itviec.com\/blog\/?p=91793"},"modified":"2025-09-28T21:56:23","modified_gmt":"2025-09-28T14:56:23","slug":"huong-dan-docker-exec","status":"publish","type":"post","link":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/","title":{"rendered":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t"},"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\/huong-dan-docker-exec\/#Docker_exec_la_gi\" >Docker exec 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:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#Docker_exec_hoat_dong_nhu_the_nao_ben_trong\" >Docker exec ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o b\u00ean trong?<\/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\/huong-dan-docker-exec\/#Docker_exec_khac_gi_voi_Docker_attach\" >Docker exec kh\u00e1c g\u00ec v\u1edbi Docker attach?<\/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\/huong-dan-docker-exec\/#Cu_phap_co_ban_cua_Docker_exec_va_cac_tuy_chon_quan_trong\" >C\u00fa ph\u00e1p c\u01a1 b\u1ea3n c\u1ee7a Docker exec v\u00e0 c\u00e1c tu\u1ef3 ch\u1ecdn quan tr\u1ecdng<\/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\/huong-dan-docker-exec\/#Huong_dan_dung_cac_lenh_Docker_exec\" >H\u01b0\u1edbng d\u1eabn d\u00f9ng c\u00e1c l\u1ec7nh Docker exec<\/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\/huong-dan-docker-exec\/#Nhung_luu_y_quan_trong_va_best_practices_khi_dung_Docker_exec\" >Nh\u1eefng l\u01b0u \u00fd quan tr\u1ecdng v\u00e0 best practices khi d\u00f9ng Docker exec<\/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\/huong-dan-docker-exec\/#Cac_loi_thuong_gap_voi_Docker_exec_va_cach_khac_phuc\" >C\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u1edbi Docker exec v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#Cac_cau_hoi_thuong_gap_ve_Docker_exec\" >C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Docker exec<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#Tong_ket\" >T\u1ed5ng k\u1ebft<\/a><\/li><\/ul><\/nav><\/div>\n\n<p><strong><em>Docker exec l\u00e0 c\u00f4ng c\u1ee5 h\u1eefu \u00edch gi\u00fap b\u1ea1n t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi container \u0111ang ch\u1ea1y, t\u1eeb vi\u1ec7c ki\u1ec3m tra h\u1ec7 th\u1ed1ng cho \u0111\u1ebfn x\u1eed l\u00fd s\u1ef1 c\u1ed1 nhanh ch\u00f3ng. Thay v\u00ec truy c\u1eadp container b\u1eb1ng c\u00e1ch ph\u1ee9c t\u1ea1p, b\u1ea1n ch\u1ec9 c\u1ea7n d\u00f9ng docker exec \u0111\u1ec3 th\u1ef1c thi l\u1ec7nh c\u1ea7n thi\u1ebft ngay l\u1eadp t\u1ee9c. B\u00e0i vi\u1ebft n\u00e0y s\u1ebd h\u01b0\u1edbng d\u1eabn b\u1ea1n c\u00e1ch s\u1eed d\u1ee5ng docker exec m\u1ed9t c\u00e1ch ch\u00ednh x\u00e1c v\u00e0 t\u1ed1i \u01b0u nh\u1ea5t.<\/em><\/strong><\/p>\n\n\n\n<p>\u0110\u1ecdc b\u00e0i vi\u1ebft sau \u0111\u1ec3 bi\u1ebft th\u00eam v\u1ec1:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u1ed5ng quan v\u1ec1 Docker exec<\/li>\n\n\n\n<li>C\u00fa ph\u00e1p c\u01a1 b\u1ea3n c\u1ee7a Docker exec v\u00e0 c\u00e1c tu\u1ef3 ch\u1ecdn quan tr\u1ecdng<\/li>\n\n\n\n<li>Docker exec ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o b\u00ean trong?<\/li>\n\n\n\n<li>H\u01b0\u1edbng d\u1eabn d\u00f9ng c\u00e1c l\u1ec7nh Docker exec<\/li>\n\n\n\n<li>Nh\u1eefng l\u01b0u \u00fd quan tr\u1ecdng v\u00e0 best practices khi d\u00f9ng docker exec<\/li>\n\n\n\n<li>C\u00e1ch kh\u1eafc ph\u1ee5c c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u1edbi Docker exec<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-exec-la-gi\"><span class=\"ez-toc-section\" id=\"Docker_exec_la_gi\"><\/span><strong>Docker exec l\u00e0 g\u00ec?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Docker exec l\u00e0 m\u1ed9t l\u1ec7nh d\u00f2ng l\u1ec7nh (CLI) trong <strong><a href=\"https:\/\/itviec.com\/blog\/docker-la-gi\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker<\/a><\/strong>, cho ph\u00e9p b\u1ea1n th\u1ef1c thi m\u1ed9t ti\u1ebfn tr\u00ecnh m\u1edbi b\u00ean trong container \u0111ang ch\u1ea1y m\u00e0 kh\u00f4ng c\u1ea7n t\u1ea1o container m\u1edbi ho\u1eb7c d\u1eebng container hi\u1ec7n t\u1ea1i. Ti\u1ebfn tr\u00ecnh m\u1edbi n\u00e0y ch\u1ea1y song song v\u1edbi ti\u1ebfn tr\u00ecnh ch\u00ednh (main process) c\u1ee7a container v\u00e0 s\u1ebd k\u1ebft th\u00fac khi l\u1ec7nh \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n xong, kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ho\u1ea1t \u0111\u1ed9ng c\u1ee7a container.\u00a0<\/p>\n\n\n\n<p>Ng\u01b0\u1eddi d\u00f9ng c\u00f3 th\u1ec3 truy c\u1eadp tr\u1ef1c ti\u1ebfp v\u00e0o m\u00f4i tr\u01b0\u1eddng b\u00ean trong container \u0111\u1ec3 th\u1ef1c hi\u1ec7n c\u00e1c t\u00e1c v\u1ee5 nh\u01b0 ch\u1ea1y l\u1ec7nh shell, ki\u1ec3m tra file log, theo d\u00f5i ti\u1ebfn tr\u00ecnh, debug \u1ee9ng d\u1ee5ng, c\u00e0i \u0111\u1eb7t package t\u1ea1m th\u1eddi ho\u1eb7c th\u1ef1c hi\u1ec7n c\u00e1c thao t\u00e1c qu\u1ea3n tr\u1ecb h\u1ec7 th\u1ed1ng.&nbsp;<\/p>\n\n\n\n<p><code>docker exec<\/code> l\u00e0 m\u1ed9t trong nh\u1eefng l\u1ec7nh thi\u1ebft y\u1ebfu m\u00e0 b\u1ea5t k\u1ef3 ai l\u00e0m vi\u1ec7c v\u1edbi Docker \u0111\u1ec1u n\u00ean th\u00e0nh th\u1ea1o v\u00ec:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0110\u00e2y l\u00e0 m\u1ed9t c\u00f4ng c\u1ee5 mang l\u1ea1i nhi\u1ec1u l\u1ee3i \u00edch trong vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 v\u1eadn h\u00e0nh container b\u1edfi t\u00ednh linh ho\u1ea1t v\u00e0 t\u1ed1c \u0111\u1ed9 thao t\u00e1c cao.\u00a0<\/li>\n\n\n\n<li>Gi\u00fap ti\u1ebft ki\u1ec7m th\u1eddi gian so v\u1edbi vi\u1ec7c rebuild image ho\u1eb7c ch\u1ec9nh s\u1eeda Dockerfile m\u1ed7i khi c\u1ea7n thay \u0111\u1ed5i ho\u1eb7c ki\u1ec3m tra m\u1ed9t th\u00e0nh ph\u1ea7n n\u00e0o \u0111\u00f3 trong container.\u00a0<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-exec-ho\u1ea1t-d\u1ed9ng-nh\u01b0-th\u1ebf-nao-ben-trong\"><span class=\"ez-toc-section\" id=\"Docker_exec_hoat_dong_nhu_the_nao_ben_trong\"><\/span><strong>Docker exec ho\u1ea1t \u0111\u1ed9ng nh\u01b0 th\u1ebf n\u00e0o b\u00ean trong?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Hi\u1ec3u r\u00f5 c\u00e1ch docker exec ho\u1ea1t \u0111\u1ed9ng b\u00ean trong s\u1ebd gi\u00fap b\u1ea1n s\u1eed d\u1ee5ng l\u1ec7nh n\u00e0y m\u1ed9t c\u00e1ch an to\u00e0n v\u00e0 t\u1ed1i \u01b0u h\u01a1n trong th\u1ef1c t\u1ebf.&nbsp;<\/p>\n\n\n\n<p>V\u1ec1 b\u1ea3n ch\u1ea5t, khi b\u1ea1n ch\u1ea1y m\u1ed9t l\u1ec7nh v\u1edbi docker exec, Docker kh\u00f4ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i container hay t\u1ea1o container m\u1edbi, m\u00e0 ch\u1ec9 th\u00eam m\u1ed9t ti\u1ebfn tr\u00ecnh m\u1edbi v\u00e0o container \u0111ang ch\u1ea1y. Ti\u1ebfn tr\u00ecnh n\u00e0y \u0111\u01b0\u1ee3c th\u1ef1c thi trong c\u00f9ng c\u00e1c Linux namespaces v\u1edbi container, bao g\u1ed3m: PID namespace, Network namespace, Mount namespace, UTS namespace, IPC namespace, v\u00e0 User namespace. \u0110i\u1ec1u n\u00e0y gi\u00fap ti\u1ebfn tr\u00ecnh c\u00f3 th\u1ec3 t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi c\u00e1c th\u00e0nh ph\u1ea7n trong container nh\u01b0 th\u1ec3 n\u00f3 l\u00e0 m\u1ed9t ph\u1ea7n c\u1ee7a \u1ee9ng d\u1ee5ng ch\u00ednh.<\/p>\n\n\n\n<p>Ngo\u00e0i ra, ti\u1ebfn tr\u00ecnh m\u1edbi c\u0169ng chia s\u1ebb c\u00f9ng cgroups v\u1edbi container, \u0111\u1ea3m b\u1ea3o resource limits \u0111\u01b0\u1ee3c \u00e1p d\u1ee5ng nh\u1ea5t qu\u00e1n.<\/p>\n\n\n\n<p>C\u1ee5 th\u1ec3, khi l\u1ec7nh docker exec \u0111\u01b0\u1ee3c th\u1ef1c thi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Docker Engine s\u1ebd ki\u1ec3m tra container m\u1ee5c ti\u00eau \u1edf tr\u1ea1ng th\u00e1i &#8220;running&#8221; hay kh\u00f4ng.<\/li>\n\n\n\n<li>N\u1ebfu c\u00f3, m\u1ed9t ti\u1ebfn tr\u00ecnh m\u1edbi s\u1ebd \u0111\u01b0\u1ee3c kh\u1edfi t\u1ea1o b\u00ean trong container, s\u1eed d\u1ee5ng c\u00f9ng m\u00f4i tr\u01b0\u1eddng c\u00e1ch ly (isolation) m\u00e0 container \u0111ang d\u00f9ng.<\/li>\n\n\n\n<li>L\u1ec7nh \u0111\u01b0\u1ee3c ch\u1ea1y ho\u00e0n to\u00e0n \u0111\u1ed9c l\u1eadp v\u1edbi ti\u1ebfn tr\u00ecnh ch\u00ednh (PID 1) c\u1ee7a container, do \u0111\u00f3 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n \u1ee9ng d\u1ee5ng \u0111ang ch\u1ea1y.<\/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\/huong-dan-hoc-docker-tutorial\/\" target=\"_blank\" rel=\"noreferrer noopener\">Docker Tutorial cheat sheet: Chi ti\u1ebft c\u00e1ch d\u00f9ng l\u1ec7nh Docker t\u1eeb A-Z<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u01b0u-y-khi-dung-l\u1ec7nh-docker-exec\"><strong>L\u01b0u \u00fd khi d\u00f9ng l\u1ec7nh docker exec<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u1ecdi thay \u0111\u1ed5i \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n th\u00f4ng qua docker exec s\u1ebd b\u1ecb m\u1ea5t khi container b\u1ecb x\u00f3a ho\u1eb7c recreate, do \u0111\u00f3 ch\u1ec9 n\u00ean s\u1eed d\u1ee5ng cho c\u00e1c t\u00e1c v\u1ee5 t\u00e1c v\u1ee5 ki\u1ec3m tra nhanh, debug, troubleshooting ho\u1eb7c qu\u1ea3n tr\u1ecb t\u1ea1m th\u1eddi trong m\u00f4i tr\u01b0\u1eddng dev\/test. C\u00f2n trong m\u00f4i tr\u01b0\u1eddng production, b\u1ea1n n\u00ean h\u1ea1n ch\u1ebf s\u1eed d\u1ee5ng Docker exec \u0111\u1ec3 th\u1ef1c hi\u1ec7n thay \u0111\u1ed5i c\u1ea5u h\u00ecnh ho\u1eb7c c\u00e0i th\u00eam ph\u1ea7n m\u1ec1m, v\u00ec nh\u1eefng thay \u0111\u1ed5i n\u00e0y s\u1ebd kh\u00f4ng \u0111\u01b0\u1ee3c l\u01b0u l\u1ea1i n\u1ebfu container b\u1ecb kh\u1edfi \u0111\u1ed9ng l\u1ea1i.\u00a0<\/li>\n\n\n\n<li>Vi\u1ec7c s\u1eed d\u1ee5ng docker exec trong production c\u1ea7n tu\u00e2n th\u1ee7 c\u00e1c nguy\u00ean t\u1eafc b\u1ea3o m\u1eadt nghi\u00eam ng\u1eb7t, ch\u1ec9 cho ph\u00e9p nh\u1eefng ng\u01b0\u1eddi c\u00f3 quy\u1ec1n admin truy c\u1eadp. Thay v\u00e0o \u0111\u00f3, n\u00ean c\u1eadp nh\u1eadt Dockerfile ho\u1eb7c s\u1eed d\u1ee5ng c\u00e1c c\u00f4ng c\u1ee5 qu\u1ea3n l\u00fd c\u1ea5u h\u00ecnh ph\u00f9 h\u1ee3p \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh \u1ed5n \u0111\u1ecbnh v\u00e0 t\u00e1i s\u1eed d\u1ee5ng.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khi-nao-nen-s\u1eed-d\u1ee5ng-docker-exec\"><strong>Khi n\u00e0o n\u00ean s\u1eed d\u1ee5ng Docker exec?<\/strong><\/h3>\n\n\n\n<p>L\u1ec7nh docker exec r\u1ea5t h\u1eefu \u00edch khi b\u1ea1n c\u1ea7n ch\u1ea1y m\u1ed9t ti\u1ebfn tr\u00ecnh t\u1ea1m th\u1eddi trong container \u0111ang ho\u1ea1t \u0111\u1ed9ng m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n h\u1ec7 th\u1ed1ng ho\u1eb7c kh\u1edfi \u0111\u1ed9ng l\u1ea1i container. \u0110\u00e2y l\u00e0 c\u00f4ng c\u1ee5 m\u1ea1nh m\u1ebd gi\u00fap b\u1ea1n t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi container \u0111\u1ec3 ki\u1ec3m tra, ch\u1ea9n \u0111o\u00e1n v\u00e0 x\u1eed l\u00fd s\u1ef1 c\u1ed1.&nbsp;<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 m\u1ed9t s\u1ed1 t\u00ecnh hu\u1ed1ng ph\u1ed5 bi\u1ebfn n\u00ean s\u1eed d\u1ee5ng Docker exec:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ki\u1ec3m tra nhanh tr\u1ea1ng th\u00e1i h\u1ec7 th\u1ed1ng ho\u1eb7c ti\u1ebfn tr\u00ecnh b\u00ean trong container<\/li>\n\n\n\n<li>Xem ho\u1eb7c ch\u1ec9nh s\u1eeda file c\u1ea5u h\u00ecnh t\u1ea1m th\u1eddi<\/li>\n\n\n\n<li>Ki\u1ec3m tra log ho\u1eb7c theo d\u00f5i l\u1ed7i m\u00e0 kh\u00f4ng c\u1ea7n thi\u1ebft l\u1eadp logging b\u00ean ngo\u00e0i<\/li>\n\n\n\n<li>Th\u1eed nghi\u1ec7m c\u00e1c l\u1ec7nh m\u1ea1ng nh\u01b0 ping, curl ho\u1eb7c ki\u1ec3m tra k\u1ebft n\u1ed1i n\u1ed9i b\u1ed9<\/li>\n\n\n\n<li>C\u00e0i \u0111\u1eb7t nhanh m\u1ed9t g\u00f3i ph\u1ea7n m\u1ec1m ph\u1ee5c v\u1ee5 cho vi\u1ec7c debug (trong m\u00f4i tr\u01b0\u1eddng dev\/test)<\/li>\n\n\n\n<li>Ki\u1ec3m tra performance issues b\u1eb1ng c\u00e1c c\u00f4ng c\u1ee5 nh\u01b0 top, htop, ps, ho\u1eb7c netstat<\/li>\n\n\n\n<li>Backup ho\u1eb7c export d\u1eef li\u1ec7u t\u1eeb b\u00ean trong container<\/li>\n\n\n\n<li>Th\u1ef1c hi\u1ec7n database operations t\u1ea1m th\u1eddi (queries, maintenance)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-docker-exec-khac-gi-v\u1edbi-docker-attach\"><span class=\"ez-toc-section\" id=\"Docker_exec_khac_gi_voi_Docker_attach\"><\/span><strong>Docker exec kh\u00e1c g\u00ec v\u1edbi Docker attach?<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Khi l\u00e0m vi\u1ec7c v\u1edbi Docker, c\u1ea3 docker exec v\u00e0 docker attach \u0111\u1ec1u \u0111\u01b0\u1ee3c d\u00f9ng \u0111\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi container \u0111ang ch\u1ea1y, nh\u01b0ng ch\u00fang ph\u1ee5c v\u1ee5 nh\u1eefng m\u1ee5c \u0111\u00edch r\u1ea5t kh\u00e1c nhau. Vi\u1ec7c hi\u1ec3u r\u00f5 s\u1ef1 kh\u00e1c bi\u1ec7t gi\u1eefa hai l\u1ec7nh n\u00e0y gi\u00fap b\u1ea1n ch\u1ecdn \u0111\u00fang c\u00f4ng c\u1ee5 trong t\u1eebng t\u00ecnh hu\u1ed1ng th\u1ef1c t\u1ebf.<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 b\u1ea3ng so s\u00e1nh gi\u1eefa docker exec v\u00e0 docker attach d\u1ef1a tr\u00ean c\u00e1c ti\u00eau ch\u00ed ph\u1ed5 bi\u1ebfn:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Ti\u00eau ch\u00ed<\/strong><\/td><td><strong>Docker exec<\/strong><\/td><td><strong>Docker attach<\/strong><\/td><\/tr><tr><td>Ch\u1ee9c n\u0103ng ch\u00ednh<\/td><td>Ch\u1ea1y m\u1ed9t ti\u1ebfn tr\u00ecnh m\u1edbi b\u00ean trong container \u0111ang ch\u1ea1y<\/td><td>K\u1ebft n\u1ed1i v\u00e0o STDIN\/STDOUT\/STDERR ti\u1ebfn tr\u00ecnh ch\u00ednh (PID 1) c\u1ee7a container<\/td><\/tr><tr><td>\u1ea2nh h\u01b0\u1edfng \u0111\u1ebfn container<\/td><td>Kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ti\u1ebfn tr\u00ecnh ch\u00ednh<\/td><td>C\u00f3 th\u1ec3 l\u00e0m d\u1eebng container n\u1ebfu tho\u00e1t b\u1eb1ng Ctrl+C thay v\u00ec Ctrl+P, Ctrl+Q<\/td><\/tr><tr><td>T\u00ednh linh ho\u1ea1t<\/td><td>C\u00f3 th\u1ec3 ch\u1ea1y nhi\u1ec1u l\u1ec7nh kh\u00e1c nhau, m\u1ed7i l\u1ec7nh t\u1ea1o ra m\u1ed9t ti\u1ebfn tr\u00ecnh ri\u00eang<\/td><td>Ch\u1ec9 t\u01b0\u01a1ng t\u00e1c v\u1edbi ti\u1ebfn tr\u00ecnh ch\u00ednh \u0111\u00e3 \u0111\u01b0\u1ee3c \u0111\u1ecbnh ngh\u0129a trong container<\/td><\/tr><tr><td>T\u00ednh an to\u00e0n<\/td><td>An to\u00e0n h\u01a1n v\u00ec ho\u1ea1t \u0111\u1ed9ng t\u00e1ch bi\u1ec7t<\/td><td>R\u1ee7i ro cao n\u1ebfu tho\u00e1t b\u1eb1ng Ctrl+C, c\u00f3 th\u1ec3 d\u1eebng container<\/td><\/tr><tr><td>T\u00ecnh hu\u1ed1ng s\u1eed d\u1ee5ng ph\u00f9 h\u1ee3p<\/td><td>Ki\u1ec3m tra, debug, th\u1ef1c hi\u1ec7n thao t\u00e1c t\u1ea1m th\u1eddi b\u00ean trong container<\/td><td>Quan s\u00e1t lu\u1ed3ng \u0111\u1ea7u ra ho\u1eb7c thao t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi \u1ee9ng d\u1ee5ng foreground<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>T\u00f3m l\u1ea1i, n\u1ebfu b\u1ea1n c\u1ea7n ch\u1ea1y l\u1ec7nh b\u1ed5 sung, th\u1ef1c hi\u1ec7n ki\u1ec3m tra, ho\u1eb7c x\u1eed l\u00fd s\u1ef1 c\u1ed1 nhanh trong container, Docker exec l\u00e0 l\u1ef1a ch\u1ecdn an to\u00e0n v\u00e0 linh ho\u1ea1t h\u01a1n. Trong khi \u0111\u00f3, Docker attach th\u01b0\u1eddng ch\u1ec9 ph\u00f9 h\u1ee3p v\u1edbi nh\u1eefng tr\u01b0\u1eddng h\u1ee3p c\u1ea7n gi\u00e1m s\u00e1t ho\u1eb7c t\u01b0\u01a1ng t\u00e1c v\u1edbi ti\u1ebfn tr\u00ecnh ch\u00ednh \u0111ang ch\u1ea1y trong container v\u00e0 b\u1ea1n hi\u1ec3u r\u00f5 c\u00e1ch s\u1eed d\u1ee5ng an to\u00e0n..<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cu-phap-c\u01a1-b\u1ea3n-c\u1ee7a-docker-exec-va-cac-tu\u1ef3-ch\u1ecdn-quan-tr\u1ecdng\"><span class=\"ez-toc-section\" id=\"Cu_phap_co_ban_cua_Docker_exec_va_cac_tuy_chon_quan_trong\"><\/span><strong>C\u00fa ph\u00e1p c\u01a1 b\u1ea3n c\u1ee7a Docker exec v\u00e0 c\u00e1c tu\u1ef3 ch\u1ecdn quan tr\u1ecdng<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>\u0110\u1ec3 s\u1eed d\u1ee5ng hi\u1ec7u qu\u1ea3, b\u1ea1n c\u1ea7n n\u1eafm r\u00f5 c\u00fa ph\u00e1p c\u01a1 b\u1ea3n c\u0169ng nh\u01b0 c\u00e1c t\u00f9y ch\u1ecdn th\u01b0\u1eddng d\u00f9ng khi thao t\u00e1c v\u1edbi Docker exec.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cu-phap-c\u01a1-b\u1ea3n-c\u1ee7a-docker-exec\"><strong>C\u00fa ph\u00e1p c\u01a1 b\u1ea3n c\u1ee7a Docker exec<\/strong><\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec &#91;OPTIONS] CONTAINER COMMAND &#91;ARG...]<\/code><\/pre>\n\n\n\n<p>Trong \u0111\u00f3:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>CONTAINER: l\u00e0 t\u00ean ho\u1eb7c ID c\u1ee7a container \u0111ang ch\u1ea1y (c\u00f3 th\u1ec3 d\u00f9ng container ID \u0111\u1ea7y \u0111\u1ee7, short ID, ho\u1eb7c container name)<\/li>\n\n\n\n<li>COMMAND: l\u00e0 l\u1ec7nh b\u1ea1n mu\u1ed1n th\u1ef1c thi b\u00ean trong container<\/li>\n\n\n\n<li>[OPTIONS]: l\u00e0 c\u00e1c t\u00f9y ch\u1ecdn \u0111i k\u00e8m gi\u00fap ki\u1ec3m so\u00e1t c\u00e1ch l\u1ec7nh \u0111\u01b0\u1ee3c th\u1ef1c hi\u1ec7n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cac-tu\u1ef3-ch\u1ecdn-quan-tr\u1ecdng-c\u1ee7a-docker-exec\"><strong>C\u00e1c tu\u1ef3 ch\u1ecdn quan tr\u1ecdng c\u1ee7a Docker exec<\/strong><\/h3>\n\n\n\n<p>Vi\u1ec7c hi\u1ec3u v\u00e0 s\u1eed d\u1ee5ng \u0111\u00fang c\u00e1c tu\u1ef3 ch\u1ecdn khi d\u00f9ng docker exec gi\u00fap b\u1ea1n ki\u1ec3m so\u00e1t t\u1ed1t h\u01a1n qu\u00e1 tr\u00ecnh t\u01b0\u01a1ng t\u00e1c v\u1edbi container, \u0111\u1ed3ng th\u1eddi \u0111\u1ea3m b\u1ea3o an to\u00e0n v\u00e0 hi\u1ec7u qu\u1ea3 trong m\u00f4i tr\u01b0\u1eddng ph\u00e1t tri\u1ec3n c\u0169ng nh\u01b0 v\u1eadn h\u00e0nh.<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 nh\u1eefng t\u00f9y ch\u1ecdn ph\u1ed5 bi\u1ebfn nh\u1ea5t gi\u00fap b\u1ea1n ki\u1ec3m so\u00e1t t\u1ed1t h\u01a1n khi d\u00f9ng docker exec:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-i-interactive\"><strong>-i (interactive)<\/strong><\/h4>\n\n\n\n<p>Gi\u1eef STDIN m\u1edf \u0111\u1ec3 b\u1ea1n c\u00f3 th\u1ec3 t\u01b0\u01a1ng t\u00e1c v\u1edbi container.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-t-tty\"><strong>-t (tty)<\/strong><\/h4>\n\n\n\n<p>T\u1ea1o m\u1ed9t pseudo-TTY, cho ph\u00e9p hi\u1ec3n th\u1ecb giao di\u1ec7n d\u00f2ng l\u1ec7nh gi\u1ed1ng nh\u01b0 terminal v\u1edbi \u0111\u1ea7y \u0111\u1ee7 colors v\u00e0 formatting.<\/p>\n\n\n\n<p>Th\u01b0\u1eddng d\u00f9ng chung v\u1edbi -i th\u00e0nh -it \u0111\u1ec3 truy c\u1eadp shell container:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it my_container bash<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-user\"><strong>&#8211;user<\/strong><\/h4>\n\n\n\n<p>Ch\u1ea1y l\u1ec7nh v\u1edbi ng\u01b0\u1eddi d\u00f9ng c\u1ee5 th\u1ec3 trong container. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--user=www-data<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-env\"><strong>&#8211;env<\/strong><\/h4>\n\n\n\n<p>Thi\u1ebft l\u1eadp bi\u1ebfn m\u00f4i tr\u01b0\u1eddng t\u1ea1m th\u1eddi khi th\u1ef1c thi l\u1ec7nh. V\u00ed d\u1ee5:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>--env ENV_MODE=production<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-detach-ho\u1eb7c-d\"><strong>&#8211;detach ho\u1eb7c -d<\/strong><\/h4>\n\n\n\n<p>Ch\u1ea1y l\u1ec7nh trong ch\u1ebf \u0111\u1ed9 n\u1ec1n, kh\u00f4ng ch\u1edd l\u1ec7nh ho\u00e0n t\u1ea5t.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-workdir\"><strong>&#8211;workdir<\/strong><\/h4>\n\n\n\n<p>Ch\u1ec9 \u0111\u1ecbnh th\u01b0 m\u1ee5c l\u00e0m vi\u1ec7c m\u1eb7c \u0111\u1ecbnh khi ch\u1ea1y l\u1ec7nh b\u00ean trong container.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-h\u01b0\u1edbng-d\u1eabn-dung-cac-l\u1ec7nh-docker-exec\"><span class=\"ez-toc-section\" id=\"Huong_dan_dung_cac_lenh_Docker_exec\"><\/span><strong>H\u01b0\u1edbng d\u1eabn d\u00f9ng c\u00e1c l\u1ec7nh Docker exec<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>D\u00f9 ch\u1ec9 l\u00e0 m\u1ed9t c\u00e2u l\u1ec7nh \u0111\u01a1n gi\u1ea3n, nh\u01b0ng c\u00e1ch s\u1eed d\u1ee5ng docker exec l\u1ea1i r\u1ea5t linh ho\u1ea1t \u2013 t\u1eeb thao t\u00e1c c\u01a1 b\u1ea3n \u0111\u1ebfn nh\u1eefng k\u1ef9 thu\u1eadt n\u00e2ng cao ph\u1ee5c v\u1ee5 cho qu\u1ea3n tr\u1ecb v\u00e0 debug h\u1ec7 th\u1ed1ng. Trong ph\u1ea7n n\u00e0y, ch\u00fang ta s\u1ebd chia h\u01b0\u1edbng d\u1eabn th\u00e0nh hai c\u1ea5p \u0111\u1ed9: c\u01a1 b\u1ea3n v\u00e0 n\u00e2ng cao, gi\u00fap b\u1ea1n t\u1eebng b\u01b0\u1edbc th\u00e0nh th\u1ea1o l\u1ec7nh n\u00e0y.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cach-dung-docker-exec-c\u01a1-b\u1ea3n\"><strong>C\u00e1ch d\u00f9ng docker exec c\u01a1 b\u1ea3n<\/strong><\/h3>\n\n\n\n<p>D\u00e0nh cho ng\u01b0\u1eddi m\u1edbi, m\u1ee5c ti\u00eau l\u00e0 th\u1ef1c thi c\u00e1c l\u1ec7nh \u0111\u01a1n gi\u1ea3n b\u00ean trong container m\u00e0 kh\u00f4ng thay \u0111\u1ed5i c\u1ea5u h\u00ecnh h\u1ec7 th\u1ed1ng:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-truy-c\u1eadp-vao-shell-c\u1ee7a-container\"><strong>Truy c\u1eadp v\u00e0o shell c\u1ee7a container\u00a0<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it container_name bash<\/code><\/pre>\n\n\n\n<p>Ho\u1eb7c n\u1ebfu container kh\u00f4ng c\u00f3 bash:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it container_name sh<\/code><\/pre>\n\n\n\n<p>Ho\u1eb7c v\u1edbi container ID:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it abc123def456 \/bin\/bash<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-ch\u1ea1y-l\u1ec7nh-ki\u1ec3m-tra-nhanh\"><strong>Ch\u1ea1y l\u1ec7nh ki\u1ec3m tra nhanh<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name ls \/var\/www\n\ndocker exec container_name cat \/etc\/hostname<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"h-t\u1ea1o-ti\u1ebfn-trinh-d\u1ecdc-log-ho\u1eb7c-theo-doi-tr\u1ea1ng-thai\"><strong>T\u1ea1o ti\u1ebfn tr\u00ecnh \u0111\u1ecdc log ho\u1eb7c theo d\u00f5i tr\u1ea1ng th\u00e1i<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name tail -f \/var\/log\/nginx\/error.log<\/code><\/pre>\n\n\n\n<p>Ki\u1ec3m tra system resources:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name top<\/code><\/pre>\n\n\n\n<p>Xem network connections:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name netstat -tlnp<\/code><\/pre>\n\n\n\n<p>L\u01b0u \u00fd: S\u1eed d\u1ee5ng t\u00f9y ch\u1ecdn -it (interactive + tty) khi b\u1ea1n c\u1ea7n t\u01b0\u01a1ng t\u00e1c, \u0111\u1eb7c bi\u1ec7t khi truy c\u1eadp v\u00e0o terminal c\u1ee7a container.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-cach-dung-docker-exec-nang-cao\"><strong>C\u00e1ch d\u00f9ng docker exec n\u00e2ng cao<\/strong><\/h3>\n\n\n\n<p>D\u00e0nh cho developer, sysadmin, DevOps c\u1ea7n ki\u1ec3m so\u00e1t s\u00e2u h\u01a1n khi thao t\u00e1c v\u1edbi container:<\/p>\n\n\n\n<p>Ch\u1ea1y l\u1ec7nh v\u1edbi quy\u1ec1n user c\u1ee5 th\u1ec3:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec --user www-data container_name whoami<\/code><\/pre>\n\n\n\n<p>Truy\u1ec1n bi\u1ebfn m\u00f4i tr\u01b0\u1eddng khi ch\u1ea1y l\u1ec7nh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec --env MODE=staging container_name printenv MODE<\/code><\/pre>\n\n\n\n<p>Ch\u1ec9 \u0111\u1ecbnh th\u01b0 m\u1ee5c l\u00e0m vi\u1ec7c (workdir):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec --workdir \/tmp container_name pwd<\/code><\/pre>\n\n\n\n<p>Ch\u1ea1y nhi\u1ec1u l\u1ec7nh m\u1ed9t l\u00fac th\u00f4ng qua shell:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name sh -c \"apt update &amp;&amp; apt install -y curl\"<\/code><\/pre>\n\n\n\n<p>Ch\u1ea1y ti\u1ebfn tr\u00ecnh n\u1ec1n kh\u00f4ng c\u1ea7n ch\u1edd \u0111\u1ee3i (detached mode):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -d container_name long_running_task.sh<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-nh\u1eefng-l\u01b0u-y-quan-tr\u1ecdng-va-best-practices-khi-dung-docker-exec\"><span class=\"ez-toc-section\" id=\"Nhung_luu_y_quan_trong_va_best_practices_khi_dung_Docker_exec\"><\/span><strong>Nh\u1eefng l\u01b0u \u00fd quan tr\u1ecdng v\u00e0 best practices khi d\u00f9ng Docker exec<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>M\u1eb7c d\u00f9 l\u1ec7nh docker exec r\u1ea5t ti\u1ec7n l\u1ee3i \u0111\u1ec3 th\u1ef1c thi c\u00e1c l\u1ec7nh b\u00ean trong container \u0111ang ch\u1ea1y, nh\u01b0ng vi\u1ec7c s\u1eed d\u1ee5ng kh\u00f4ng \u0111\u00fang c\u00e1ch c\u00f3 th\u1ec3 g\u00e2y ra r\u1ee7i ro b\u1ea3o m\u1eadt ho\u1eb7c \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn t\u00ednh \u1ed5n \u0111\u1ecbnh c\u1ee7a h\u1ec7 th\u1ed1ng. Do \u0111\u00f3, \u0111\u1ec3 s\u1eed d\u1ee5ng docker exec hi\u1ec7u qu\u1ea3 v\u00e0 an to\u00e0n, b\u1ea1n c\u1ea7n tu\u00e2n th\u1ee7 m\u1ed9t s\u1ed1 nguy\u00ean t\u1eafc v\u00e0 best practices quan tr\u1ecdng.<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 nh\u1eefng l\u01b0u \u00fd c\u1ea7n ghi nh\u1edb khi l\u00e0m vi\u1ec7c v\u1edbi docker exec:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tr\u00e1nh l\u1ea1m d\u1ee5ng docker exec trong production:<\/strong> Vi\u1ec7c ch\u1ec9nh s\u1eeda ho\u1eb7c c\u00e0i \u0111\u1eb7t th\u00eam b\u00ean trong container b\u1eb1ng docker exec ch\u1ec9 c\u00f3 hi\u1ec7u l\u1ef1c t\u1ea1m th\u1eddi. Nh\u1eefng thay \u0111\u1ed5i n\u00e0y s\u1ebd bi\u1ebfn m\u1ea5t n\u1ebfu container b\u1ecb kh\u1edfi \u0111\u1ed9ng l\u1ea1i ho\u1eb7c b\u1ecb xo\u00e1.<\/li>\n\n\n\n<li><strong>Kh\u00f4ng ch\u1ea1y l\u1ec7nh v\u1edbi quy\u1ec1n root tr\u1eeb khi th\u1eadt s\u1ef1 c\u1ea7n thi\u1ebft: <\/strong>Theo m\u1eb7c \u0111\u1ecbnh, docker exec th\u1ef1c thi l\u1ec7nh v\u1edbi quy\u1ec1n root, \u0111i\u1ec1u n\u00e0y c\u00f3 th\u1ec3 g\u00e2y r\u1ee7i ro b\u1ea3o m\u1eadt. H\u00e3y s\u1eed d\u1ee5ng tu\u1ef3 ch\u1ecdn &#8211;user \u0111\u1ec3 ch\u1ec9 \u0111\u1ecbnh user \u00edt \u0111\u1eb7c quy\u1ec1n h\u01a1n n\u1ebfu kh\u00f4ng c\u1ea7n quy\u1ec1n cao.<\/li>\n\n\n\n<li><strong>Kh\u00f4ng n\u00ean thay \u0111\u1ed5i logic \u1ee9ng d\u1ee5ng th\u00f4ng qua docker exec: <\/strong>N\u1ebfu b\u1ea1n th\u01b0\u1eddng xuy\u00ean s\u1eed d\u1ee5ng docker exec \u0111\u1ec3 s\u1eeda l\u1ed7i, c\u1ea5u h\u00ecnh, ho\u1eb7c thay \u0111\u1ed5i h\u00e0nh vi \u1ee9ng d\u1ee5ng, \u0111\u00f3 l\u00e0 d\u1ea5u hi\u1ec7u n\u00ean c\u1eadp nh\u1eadt l\u1ea1i Dockerfile ho\u1eb7c s\u1eed d\u1ee5ng volume\/config \u0111\u00fang c\u00e1ch.<\/li>\n\n\n\n<li><strong>S\u1eed d\u1ee5ng docker exec \u0111\u1ec3 debug, kh\u00f4ng ph\u1ea3i \u0111\u1ec3 tri\u1ec3n khai:<\/strong> docker exec r\u1ea5t h\u1eefu \u00edch cho vi\u1ec7c ki\u1ec3m tra nhanh, debug log, xem tr\u1ea1ng th\u00e1i d\u1ecbch v\u1ee5 ho\u1eb7c ch\u1ea9n \u0111o\u00e1n s\u1ef1 c\u1ed1. Tuy nhi\u00ean, \u0111\u1eebng bi\u1ebfn n\u00f3 th\u00e0nh c\u00f4ng c\u1ee5 tri\u1ec3n khai ho\u1eb7c c\u00e0i \u0111\u1eb7t ph\u1ea7n m\u1ec1m l\u00e2u d\u00e0i trong container.<\/li>\n\n\n\n<li><strong>Ghi log ho\u1eb7c tracking c\u00e1c thao t\u00e1c docker exec n\u1ebfu c\u00f3 y\u00eau c\u1ea7u b\u1ea3o m\u1eadt ho\u1eb7c audit: <\/strong>Trong m\u1ed9t s\u1ed1 h\u1ec7 th\u1ed1ng y\u00eau c\u1ea7u t\u00ednh tu\u00e2n th\u1ee7 cao, c\u1ea7n theo d\u00f5i c\u00e1c l\u1ec7nh \u0111\u01b0\u1ee3c th\u1ef1c thi b\u1eb1ng docker exec \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o minh b\u1ea1ch v\u00e0 kh\u1ea3 n\u0103ng ki\u1ec3m tra khi c\u00f3 s\u1ef1 c\u1ed1 x\u1ea3y ra.<\/li>\n\n\n\n<li><strong>S\u1eed d\u1ee5ng script thay v\u00ec g\u00f5 tay khi ch\u1ea1y nhi\u1ec1u l\u1ec7nh l\u1eb7p \u0111i l\u1eb7p l\u1ea1i: <\/strong>T\u1ef1 \u0111\u1ed9ng h\u00f3a c\u00e1c thao t\u00e1c b\u1eb1ng script shell s\u1ebd gi\u00fap b\u1ea1n gi\u1ea3m sai s\u00f3t v\u00e0 t\u0103ng t\u00ednh t\u00e1i s\u1eed d\u1ee5ng khi c\u1ea7n th\u1ef1c thi c\u00f9ng m\u1ed9t chu\u1ed7i l\u1ec7nh v\u1edbi docker exec.<\/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\/tong-hop-docker-command\/\" target=\"_blank\" rel=\"noreferrer noopener\">T\u1ed5ng h\u1ee3p Docker command ph\u1ed5 bi\u1ebfn t\u1eeb c\u01a1 b\u1ea3n \u0111\u1ebfn n\u00e2ng cao<\/a><\/strong><\/em><\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-l\u1ed7i-th\u01b0\u1eddng-g\u1eb7p-v\u1edbi-docker-exec-va-cach-kh\u1eafc-ph\u1ee5c\"><span class=\"ez-toc-section\" id=\"Cac_loi_thuong_gap_voi_Docker_exec_va_cach_khac_phuc\"><\/span><strong>C\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u1edbi Docker exec v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Khi s\u1eed d\u1ee5ng l\u1ec7nh docker exec, b\u1ea1n c\u00f3 th\u1ec3 g\u1eb7p ph\u1ea3i m\u1ed9t s\u1ed1 l\u1ed7i ph\u1ed5 bi\u1ebfn li\u00ean quan \u0111\u1ebfn quy\u1ec1n truy c\u1eadp, tr\u1ea1ng th\u00e1i container, c\u00fa ph\u00e1p sai ho\u1eb7c m\u00f4i tr\u01b0\u1eddng shell kh\u00f4ng t\u01b0\u01a1ng th\u00edch. Nh\u1eefng l\u1ed7i n\u00e0y th\u01b0\u1eddng khi\u1ebfn ng\u01b0\u1eddi d\u00f9ng, \u0111\u1eb7c bi\u1ec7t l\u00e0 ng\u01b0\u1eddi m\u1edbi b\u1eaft \u0111\u1ea7u, c\u1ea3m th\u1ea5y b\u1ed1i r\u1ed1i.&nbsp;<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 danh s\u00e1ch c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p v\u1edbi docker exec v\u00e0 c\u00e1ch kh\u1eafc ph\u1ee5c hi\u1ec7u qu\u1ea3:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-container-not-running\"><strong>Container not running<\/strong><\/h3>\n\n\n\n<p>Khi container ch\u01b0a \u0111\u01b0\u1ee3c kh\u1edfi \u0111\u1ed9ng ho\u1eb7c \u0111\u00e3 d\u1eebng, b\u1ea1n s\u1ebd th\u1ea5y l\u1ed7i nh\u01b0 sau:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Error: No such container: &lt;container_name><br><br>Error response from daemon: Container &lt;id> is not running<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>C\u00e1ch kh\u1eafc ph\u1ee5c:<\/p>\n\n\n\n<p>Ki\u1ec3m tra container c\u00f3 \u0111ang ch\u1ea1y kh\u00f4ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker ps -a<\/code><\/pre>\n\n\n\n<p>Kh\u1edfi \u0111\u1ed9ng l\u1ea1i container n\u1ebfu c\u1ea7n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker start &lt;container_name><\/code><\/pre>\n\n\n\n<p>Ki\u1ec3m tra container c\u1ee5 th\u1ec3:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker inspect &lt;container_name> --format='{{.State.Status}}'<\/code><\/pre>\n\n\n\n<p>Ki\u1ec3m tra logs n\u1ebfu container crash:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker logs &lt;container_name><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u1ed7i-executable-file-not-found-in-path\"><strong>L\u1ed7i \u201cexecutable file not found in $PATH\u201d<\/strong><\/h3>\n\n\n\n<p>Khi l\u1ec7nh ho\u1eb7c shell b\u1ea1n g\u1ecdi kh\u00f4ng t\u1ed3n t\u1ea1i trong container, s\u1ebd x\u1ea3y ra l\u1ed7i sau:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>OCI runtime exec failed: exec failed: executable file not found in $PATH<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>C\u00e1ch kh\u1eafc ph\u1ee5c:<\/p>\n\n\n\n<p>Ki\u1ec3m tra xem container c\u00f3 bash kh\u00f4ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it container_name which bash<\/code><\/pre>\n\n\n\n<p>N\u1ebfu kh\u00f4ng c\u00f3, th\u1eed v\u1edbi sh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it container_name sh<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-khong-truy-c\u1eadp-d\u01b0\u1ee3c-terminal-giao-di\u1ec7n-dong-l\u1ec7nh\"><strong>Kh\u00f4ng truy c\u1eadp \u0111\u01b0\u1ee3c terminal (giao di\u1ec7n d\u00f2ng l\u1ec7nh)<\/strong><\/h3>\n\n\n\n<p>L\u1ed7i: Kh\u00f4ng th\u1ea5y giao di\u1ec7n d\u00f2ng l\u1ec7nh ho\u1eb7c kh\u00f4ng th\u1ec3 nh\u1eadp l\u1ec7nh<\/p>\n\n\n\n<p>Nguy\u00ean nh\u00e2n: Thi\u1ebfu c\u1edd -it (interactive + tty) khi ch\u1ea1y l\u1ec7nh.<\/p>\n\n\n\n<p>C\u00e1ch kh\u1eafc ph\u1ee5c: Lu\u00f4n th\u00eam -it khi c\u1ea7n t\u01b0\u01a1ng t\u00e1c:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec -it container_name bash<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-permission-denied-khi-ch\u1ea1y-l\u1ec7nh\"><strong>Permission denied khi ch\u1ea1y l\u1ec7nh<\/strong><\/h3>\n\n\n\n<p>Nguy\u00ean nh\u00e2n: L\u1ec7nh y\u00eau c\u1ea7u quy\u1ec1n cao h\u01a1n, ho\u1eb7c container \u0111ang ch\u1ea1y v\u1edbi user kh\u00f4ng \u0111\u1ee7 quy\u1ec1n.<\/p>\n\n\n\n<p>C\u00e1ch kh\u1eafc ph\u1ee5c:<\/p>\n\n\n\n<p>D\u00f9ng c\u1edd &#8211;user \u0111\u1ec3 ch\u1ec9 \u0111\u1ecbnh quy\u1ec1n root:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec --user root container_name &lt;command><\/code><\/pre>\n\n\n\n<p>\u0110\u1ea3m b\u1ea3o file b\u1ea1n thao t\u00e1c c\u00f3 quy\u1ec1n ph\u00f9 h\u1ee3p b\u00ean trong container.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-l\u1ec7nh-khong-nh\u1eadn-d\u01b0\u1ee3c-bi\u1ebfn-moi-tr\u01b0\u1eddng-mong-mu\u1ed1n\"><strong>L\u1ec7nh kh\u00f4ng nh\u1eadn \u0111\u01b0\u1ee3c bi\u1ebfn m\u00f4i tr\u01b0\u1eddng mong mu\u1ed1n<\/strong><\/h3>\n\n\n\n<p>Nguy\u00ean nh\u00e2n: Bi\u1ebfn m\u00f4i tr\u01b0\u1eddng kh\u00f4ng \u0111\u01b0\u1ee3c truy\u1ec1n \u0111\u00fang khi d\u00f9ng docker exec.<\/p>\n\n\n\n<p>C\u00e1ch kh\u1eafc ph\u1ee5c: Truy\u1ec1n bi\u1ebfn t\u1ea1m th\u1eddi b\u1eb1ng &#8211;env:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec --env MY_ENV=value container_name env<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cac-cau-h\u1ecfi-th\u01b0\u1eddng-g\u1eb7p-v\u1ec1-docker-exec\"><span class=\"ez-toc-section\" id=\"Cac_cau_hoi_thuong_gap_ve_Docker_exec\"><\/span><strong>C\u00e1c c\u00e2u h\u1ecfi th\u01b0\u1eddng g\u1eb7p v\u1ec1 Docker exec<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-docker-exec-co-lam-thay-d\u1ed5i-tr\u1ea1ng-thai-container-khong\"><strong>Docker exec c\u00f3 l\u00e0m thay \u0111\u1ed5i tr\u1ea1ng th\u00e1i container kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Docker exec kh\u00f4ng l\u00e0m thay \u0111\u1ed5i tr\u1ea1ng th\u00e1i container v\u00ec l\u1ec7nh n\u00e0y ch\u1ec9 th\u1ef1c thi m\u1ed9t ti\u1ebfn tr\u00ecnh m\u1edbi b\u00ean trong container \u0111ang ch\u1ea1y. Khi s\u1eed d\u1ee5ng docker exec, container v\u1eabn gi\u1eef nguy\u00ean tr\u1ea1ng th\u00e1i ho\u1ea1t \u0111\u1ed9ng v\u00e0 kh\u00f4ng b\u1ecb d\u1eebng, kh\u1edfi \u0111\u1ed9ng l\u1ea1i hay \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ti\u1ebfn tr\u00ecnh ch\u00ednh.&nbsp;<\/p>\n\n\n\n<p>Tuy nhi\u00ean, docker exec c\u00f3 th\u1ec3 thay \u0111\u1ed5i n\u1ed9i dung b\u00ean trong container nh\u01b0 files, processes, network connections &#8211; nh\u1eefng thay \u0111\u1ed5i n\u00e0y \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn container&#8217;s runtime state nh\u01b0ng kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn container lifecycle (running\/stopped\/paused).<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Container state kh\u00f4ng \u0111\u1ed5i\ndocker ps --format \"table {{.Names}}\\t{{.Status}}\"\ndocker exec my_container touch \/tmp\/newfile.txt\ndocker ps --format \"table {{.Names}}\\t{{.Status}}\"\u00a0 # Status v\u1eabn gi\u1eef nguy\u00ean\n\n# Nh\u01b0ng filesystem \u0111\u00e3 thay \u0111\u1ed5i\ndocker exec my_container ls -la \/tmp\/newfile.txt\u00a0 # File m\u1edbi \u0111\u01b0\u1ee3c t\u1ea1o<\/code><\/pre>\n\n\n\n<p>Do \u0111\u00f3, docker exec l\u00e0 c\u00f4ng c\u1ee5 an to\u00e0n \u0111\u1ec3 ki\u1ec3m tra v\u00e0 thao t\u00e1c t\u1ea1m th\u1eddi trong m\u00f4i tr\u01b0\u1eddng container m\u00e0 kh\u00f4ng l\u00e0m gi\u00e1n \u0111o\u1ea1n service availability.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-docker-exec-co-gi\u1eef-l\u1ea1i-thay-d\u1ed5i-sau-khi-container-kh\u1edfi-d\u1ed9ng-l\u1ea1i-khong\"><strong>Docker exec c\u00f3 gi\u1eef l\u1ea1i thay \u0111\u1ed5i sau khi container kh\u1edfi \u0111\u1ed9ng l\u1ea1i kh\u00f4ng?<\/strong><\/h3>\n\n\n\n<p>Kh\u00f4ng, docker exec kh\u00f4ng gi\u1eef l\u1ea1i thay \u0111\u1ed5i sau khi container kh\u1edfi \u0111\u1ed9ng l\u1ea1i. M\u1ecdi l\u1ec7nh ho\u1eb7c thao t\u00e1c b\u1ea1n th\u1ef1c hi\u1ec7n th\u00f4ng qua docker exec, nh\u01b0 c\u00e0i \u0111\u1eb7t ph\u1ea7n m\u1ec1m hay ch\u1ec9nh s\u1eeda file, ch\u1ec9 t\u1ed3n t\u1ea1i t\u1ea1m th\u1eddi trong phi\u00ean b\u1ea3n container \u0111ang ch\u1ea1y. Khi container b\u1ecb kh\u1edfi \u0111\u1ed9ng l\u1ea1i, c\u00e1c thay \u0111\u1ed5i n\u00e0y s\u1ebd m\u1ea5t v\u00ec docker exec kh\u00f4ng ghi l\u1ea1i ch\u00fang v\u00e0o image g\u1ed1c ho\u1eb7c volume.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-lam-th\u1ebf-nao-d\u1ec3-ch\u1ea1y-nhi\u1ec1u-l\u1ec7nh-ben-trong-m\u1ed9t-container-b\u1eb1ng-l\u1ec7nh-docker-exec\"><strong>L\u00e0m th\u1ebf n\u00e0o \u0111\u1ec3 ch\u1ea1y nhi\u1ec1u l\u1ec7nh b\u00ean trong m\u1ed9t container b\u1eb1ng l\u1ec7nh docker exec?<\/strong><\/h3>\n\n\n\n<p>\u0110\u1ec3 ch\u1ea1y nhi\u1ec1u l\u1ec7nh b\u00ean trong m\u1ed9t container b\u1eb1ng l\u1ec7nh docker exec, b\u1ea1n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng shell k\u1ebft h\u1ee3p v\u1edbi c\u1edd -c. C\u1ee5 th\u1ec3, h\u00e3y ch\u1ea1y l\u1ec7nh theo c\u00fa ph\u00e1p:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker exec container_name sh -c \"command1 &amp;&amp; command2\"<\/code><\/pre>\n\n\n\n<p>C\u00e1ch n\u00e0y gi\u00fap docker exec th\u1ef1c thi nhi\u1ec1u l\u1ec7nh li\u00ean ti\u1ebfp trong c\u00f9ng m\u1ed9t ti\u1ebfn tr\u00ecnh shell b\u00ean trong container.<\/p>\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>D\u00f9 ch\u1ec9 l\u00e0 m\u1ed9t l\u1ec7nh \u0111\u01a1n gi\u1ea3n, docker exec l\u1ea1i \u0111\u00f3ng vai tr\u00f2 quan tr\u1ecdng trong vi\u1ec7c qu\u1ea3n l\u00fd v\u00e0 v\u1eadn h\u00e0nh container hi\u1ec7u qu\u1ea3. Khi \u0111\u01b0\u1ee3c s\u1eed d\u1ee5ng \u0111\u00fang c\u00e1ch, docker exec gi\u00fap b\u1ea1n th\u1ef1c thi nhanh c\u00e1c t\u00e1c v\u1ee5 ki\u1ec3m tra, debug, ho\u1eb7c c\u1ea5u h\u00ecnh t\u1ea1m th\u1eddi m\u00e0 kh\u00f4ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ti\u1ebfn tr\u00ecnh ch\u00ednh. \u0110\u1ec3 t\u1ed1i \u01b0u hi\u1ec7u qu\u1ea3 c\u00f4ng vi\u1ec7c, h\u00e3y k\u1ebft h\u1ee3p hi\u1ec3u bi\u1ebft v\u1ec1 c\u00fa ph\u00e1p, tu\u1ef3 ch\u1ecdn n\u00e2ng cao v\u00e0 c\u00e1c l\u01b0u \u00fd an to\u00e0n khi s\u1eed d\u1ee5ng l\u1ec7nh docker exec.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker exec l\u00e0 c\u00f4ng c\u1ee5 h\u1eefu \u00edch gi\u00fap b\u1ea1n t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi container \u0111ang ch\u1ea1y, t\u1eeb vi\u1ec7c ki\u1ec3m tra h\u1ec7 th\u1ed1ng cho \u0111\u1ebfn x\u1eed l\u00fd s\u1ef1 c\u1ed1 nhanh ch\u00f3ng. Thay v\u00ec truy c\u1eadp container b\u1eb1ng c\u00e1ch ph\u1ee9c t\u1ea1p, b\u1ea1n ch\u1ec9 c\u1ea7n d\u00f9ng docker exec \u0111\u1ec3 th\u1ef1c thi l\u1ec7nh c\u1ea7n thi\u1ebft ngay l\u1eadp t\u1ee9c. [&hellip;]<\/p>\n","protected":false},"author":214,"featured_media":91795,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_gspb_post_css":"","footnotes":""},"categories":[109],"tags":[10113,10121],"class_list":["post-91793","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-chuyen-mon-it","tag-devops","tag-docker"],"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>Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t - ITviec Blog<\/title>\n<meta name=\"description\" content=\"L\u01b0u ngay b\u00e0i vi\u1ebft h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng Docker exec t\u1eeb c\u00fa ph\u00e1p c\u01a1 b\u1ea3n, t\u00f9y ch\u1ecdn quan tr\u1ecdng, best practices v\u00e0 c\u00e1ch x\u1eed l\u00fd c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p.\" \/>\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\/huong-dan-docker-exec\/\" \/>\n<meta property=\"og:locale\" content=\"vi_VN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t\" \/>\n<meta property=\"og:description\" content=\"Docker exec l\u00e0 c\u00f4ng c\u1ee5 h\u1eefu \u00edch gi\u00fap b\u1ea1n t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi container \u0111ang ch\u1ea1y, t\u1eeb vi\u1ec7c ki\u1ec3m tra h\u1ec7 th\u1ed1ng cho \u0111\u1ebfn x\u1eed l\u00fd s\u1ef1 c\u1ed1 nhanh ch\u00f3ng. Thay v\u00ec\" \/>\n<meta property=\"og:url\" content=\"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/\" \/>\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-28T14:56:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-28T14:56:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1347\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Hi\u1ebfu Phan\" \/>\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=\"Hi\u1ebfu Phan\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 ph\u00fat\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t - ITviec Blog","description":"L\u01b0u ngay b\u00e0i vi\u1ebft h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng Docker exec t\u1eeb c\u00fa ph\u00e1p c\u01a1 b\u1ea3n, t\u00f9y ch\u1ecdn quan tr\u1ecdng, best practices v\u00e0 c\u00e1ch x\u1eed l\u00fd c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p.","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\/huong-dan-docker-exec\/","og_locale":"vi_VN","og_type":"article","og_title":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t","og_description":"Docker exec l\u00e0 c\u00f4ng c\u1ee5 h\u1eefu \u00edch gi\u00fap b\u1ea1n t\u01b0\u01a1ng t\u00e1c tr\u1ef1c ti\u1ebfp v\u1edbi container \u0111ang ch\u1ea1y, t\u1eeb vi\u1ec7c ki\u1ec3m tra h\u1ec7 th\u1ed1ng cho \u0111\u1ebfn x\u1eed l\u00fd s\u1ef1 c\u1ed1 nhanh ch\u00f3ng. Thay v\u00ec","og_url":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/","og_site_name":"ITviec Blog","article_publisher":"https:\/\/www.facebook.com\/ITviec","article_published_time":"2025-09-28T14:56:20+00:00","article_modified_time":"2025-09-28T14:56:23+00:00","og_image":[{"width":2560,"height":1347,"url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png","type":"image\/png"}],"author":"Hi\u1ebfu Phan","twitter_card":"summary_large_image","twitter_creator":"@ITviec","twitter_site":"@ITviec","twitter_misc":{"\u0110\u01b0\u1ee3c vi\u1ebft b\u1edfi":"Hi\u1ebfu Phan","\u01af\u1edbc t\u00ednh th\u1eddi gian \u0111\u1ecdc":"16 ph\u00fat"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#article","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/"},"author":{"name":"Hi\u1ebfu Phan","@id":"https:\/\/itviec.com\/blog\/#\/schema\/person\/d9f4dfc3237d95eb1549e5adb2ede904"},"headline":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t","datePublished":"2025-09-28T14:56:20+00:00","dateModified":"2025-09-28T14:56:23+00:00","mainEntityOfPage":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/"},"wordCount":4195,"publisher":{"@id":"https:\/\/itviec.com\/blog\/#organization"},"image":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png","keywords":["devops","Docker"],"articleSection":["Chuy\u00ean m\u00f4n IT"],"inLanguage":"vi"},{"@type":"WebPage","@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/","url":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/","name":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t - ITviec Blog","isPartOf":{"@id":"https:\/\/itviec.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#primaryimage"},"image":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#primaryimage"},"thumbnailUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png","datePublished":"2025-09-28T14:56:20+00:00","dateModified":"2025-09-28T14:56:23+00:00","description":"L\u01b0u ngay b\u00e0i vi\u1ebft h\u01b0\u1edbng d\u1eabn s\u1eed d\u1ee5ng Docker exec t\u1eeb c\u00fa ph\u00e1p c\u01a1 b\u1ea3n, t\u00f9y ch\u1ecdn quan tr\u1ecdng, best practices v\u00e0 c\u00e1ch x\u1eed l\u00fd c\u00e1c l\u1ed7i th\u01b0\u1eddng g\u1eb7p.","breadcrumb":{"@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#breadcrumb"},"inLanguage":"vi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/"]}]},{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#primaryimage","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2025\/09\/docker-exec-scaled.png","width":800,"height":421,"caption":"docker exec - itviec blog"},{"@type":"BreadcrumbList","@id":"https:\/\/itviec.com\/blog\/huong-dan-docker-exec\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Chuy\u00ean m\u00f4n IT","item":"https:\/\/itviec.com\/blog\/chuyen-mon-it\/"},{"@type":"ListItem","position":2,"name":"Docker exec: C\u00e1ch ch\u1ea1y l\u1ec7nh trong container nhanh v\u00e0 linh ho\u1ea1t"}]},{"@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\/d9f4dfc3237d95eb1549e5adb2ede904","name":"Hi\u1ebfu Phan","image":{"@type":"ImageObject","inLanguage":"vi","@id":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/phan-trung-hieu-author-e1709881921227-100x100.jpg","url":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/phan-trung-hieu-author-e1709881921227-100x100.jpg","contentUrl":"https:\/\/itviec.com\/blog\/wp-content\/uploads\/2024\/03\/phan-trung-hieu-author-e1709881921227-100x100.jpg","caption":"Hi\u1ebfu Phan"},"url":"https:\/\/itviec.com\/blog\/author\/hieu-phan\/"}]}},"_links":{"self":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91793","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\/214"}],"replies":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/comments?post=91793"}],"version-history":[{"count":2,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91793\/revisions"}],"predecessor-version":[{"id":91796,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/posts\/91793\/revisions\/91796"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media\/91795"}],"wp:attachment":[{"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/media?parent=91793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/categories?post=91793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itviec.com\/blog\/wp-json\/wp\/v2\/tags?post=91793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}