{"id":1446,"date":"2024-11-09T09:14:56","date_gmt":"2024-11-09T09:14:56","guid":{"rendered":"https:\/\/kb.lagonet.vn\/?p=1446"},"modified":"2024-11-09T09:17:59","modified_gmt":"2024-11-09T09:17:59","slug":"limit-log-file-size-for-containers","status":"publish","type":"post","link":"https:\/\/kb.lagonet.vn\/?p=1446","title":{"rendered":"Limit Log file size for Containers"},"content":{"rendered":"\n<p>\u0110\u1ec3 gi\u1edbi h\u1ea1n k\u00edch th\u01b0\u1edbc file log c\u1ee7a container Docker, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh c\u00e1c t\u00f9y ch\u1ecdn logging khi kh\u1edfi \u0111\u1ed9ng container. Docker cung c\u1ea5p m\u1ed9t s\u1ed1 t\u00f9y ch\u1ecdn \u0111\u1ec3 qu\u1ea3n l\u00fd k\u00edch th\u01b0\u1edbc v\u00e0 s\u1ed1 l\u01b0\u1ee3ng file log.<\/p>\n\n\n\n<p>D\u01b0\u1edbi \u0111\u00e2y l\u00e0 c\u00e1ch th\u1ef1c hi\u1ec7n:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. D\u00f9ng t\u00f9y ch\u1ecdn <code>--log-opt<\/code> khi kh\u1edfi \u0111\u1ed9ng container<\/h3>\n\n\n\n<p>B\u1ea1n c\u00f3 th\u1ec3 gi\u1edbi h\u1ea1n k\u00edch th\u01b0\u1edbc file log b\u1eb1ng c\u00e1ch th\u00eam c\u00e1c t\u00f9y ch\u1ecdn <code>--log-opt<\/code> v\u00e0o l\u1ec7nh <code>docker run<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --log-opt max-size=10m --log-opt max-file=3 &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<p><strong>Gi\u1ea3i th\u00edch:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>max-size=10m<\/code>: Gi\u1edbi h\u1ea1n k\u00edch th\u01b0\u1edbc c\u1ee7a m\u1ed7i file log l\u00e0 10MB.<\/li>\n\n\n\n<li><code>max-file=3<\/code>: Gi\u1edbi h\u1ea1n s\u1ed1 l\u01b0\u1ee3ng file log l\u00e0 3. Khi v\u01b0\u1ee3t qu\u00e1 gi\u1edbi h\u1ea1n n\u00e0y, Docker s\u1ebd x\u00f3a c\u00e1c file log c\u0169.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. C\u1ea5u h\u00ecnh log m\u1eb7c \u0111\u1ecbnh cho Docker daemon<\/h3>\n\n\n\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n \u00e1p d\u1ee5ng gi\u1edbi h\u1ea1n log cho t\u1ea5t c\u1ea3 c\u00e1c container, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh log m\u1eb7c \u0111\u1ecbnh trong file c\u1ea5u h\u00ecnh c\u1ee7a Docker daemon (<code>\/etc\/docker\/daemon.json<\/code>).<\/p>\n\n\n\n<p>M\u1edf file c\u1ea5u h\u00ecnh n\u00e0y v\u00e0 th\u00eam c\u00e1c t\u00f9y ch\u1ecdn log nh\u01b0 sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"log-driver\": \"json-file\",\n  \"log-opts\": {\n    \"max-size\": \"10m\",\n    \"max-file\": \"3\"\n  }\n}<\/code><\/pre>\n\n\n\n<p>Sau \u0111\u00f3, <strong>kh\u1edfi \u0111\u1ed9ng l\u1ea1i Docker<\/strong> \u0111\u1ec3 \u00e1p d\u1ee5ng c\u1ea5u h\u00ecnh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart docker<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">L\u01b0u \u00fd<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N\u1ebfu b\u1ea1n s\u1eed d\u1ee5ng m\u1ed9t tr\u00ecnh \u0111i\u1ec1u khi\u1ec3n log kh\u00e1c (nh\u01b0 <code>syslog<\/code> ho\u1eb7c <code>journald<\/code>), c\u1ea5u h\u00ecnh c\u00f3 th\u1ec3 s\u1ebd kh\u00e1c.<\/li>\n<\/ul>\n\n\n\n<p>\u0110\u00fang v\u1eady, n\u1ebfu b\u1ea1n ch\u1ec9 ch\u1ea1y container Docker b\u00ecnh th\u01b0\u1eddng m\u00e0 kh\u00f4ng c\u1ea5u h\u00ecnh, c\u00e1c container s\u1ebd d\u1eebng v\u00e0 kh\u00f4ng t\u1ef1 kh\u1edfi \u0111\u1ed9ng l\u1ea1i sau khi h\u1ec7 th\u1ed1ng ho\u1eb7c Docker daemon kh\u1edfi \u0111\u1ed9ng l\u1ea1i. \u0110\u1ec3 tr\u00e1nh t\u00ecnh tr\u1ea1ng n\u00e0y, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh ch\u1ebf \u0111\u1ed9 <strong>kh\u1edfi \u0111\u1ed9ng t\u1ef1 \u0111\u1ed9ng<\/strong> cho container b\u1eb1ng t\u00f9y ch\u1ecdn <code>--restart<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">C\u00e1c t\u00f9y ch\u1ecdn <code>--restart<\/code><\/h3>\n\n\n\n<p>Khi ch\u1ea1y container, b\u1ea1n c\u00f3 th\u1ec3 th\u00eam t\u00f9y ch\u1ecdn <code>--restart<\/code> \u0111\u1ec3 c\u1ea5u h\u00ecnh ch\u1ebf \u0111\u1ed9 kh\u1edfi \u0111\u1ed9ng l\u1ea1i:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>no<\/strong>: Kh\u00f4ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i container sau khi d\u1eebng ho\u1eb7c khi Docker kh\u1edfi \u0111\u1ed9ng l\u1ea1i (\u0111\u00e2y l\u00e0 t\u00f9y ch\u1ecdn m\u1eb7c \u0111\u1ecbnh).<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   docker run --restart no &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>on-failure<\/strong>: Kh\u1edfi \u0111\u1ed9ng l\u1ea1i container ch\u1ec9 khi c\u00f3 l\u1ed7i x\u1ea3y ra (tho\u00e1t v\u1edbi m\u00e3 l\u1ed7i kh\u00e1c 0).<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   docker run --restart on-failure &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>always<\/strong>: Lu\u00f4n kh\u1edfi \u0111\u1ed9ng l\u1ea1i container, ngay c\u1ea3 khi container \u0111\u01b0\u1ee3c d\u1eebng b\u1eb1ng tay ho\u1eb7c Docker daemon kh\u1edfi \u0111\u1ed9ng l\u1ea1i.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   docker run --restart always &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>unless-stopped<\/strong>: Kh\u1edfi \u0111\u1ed9ng l\u1ea1i container tr\u1eeb khi container b\u1ecb d\u1eebng th\u1ee7 c\u00f4ng. N\u1ebfu b\u1ea1n d\u1eebng container b\u1eb1ng tay, Docker s\u1ebd kh\u00f4ng kh\u1edfi \u0111\u1ed9ng l\u1ea1i n\u00f3 khi kh\u1edfi \u0111\u1ed9ng l\u1ea1i h\u1ec7 th\u1ed1ng ho\u1eb7c Docker daemon.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>   docker run --restart unless-stopped &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">V\u00ed d\u1ee5<\/h3>\n\n\n\n<p>N\u1ebfu b\u1ea1n mu\u1ed1n container t\u1ef1 kh\u1edfi \u0111\u1ed9ng l\u1ea1i sau khi Docker ho\u1eb7c h\u1ec7 th\u1ed1ng \u0111\u01b0\u1ee3c kh\u1edfi \u0111\u1ed9ng l\u1ea1i, d\u00f9ng l\u1ec7nh sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --restart always &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<p>Ho\u1eb7c \u0111\u1ec3 kh\u1edfi \u0111\u1ed9ng l\u1ea1i tr\u1eeb khi b\u1ea1n d\u1eebng th\u1ee7 c\u00f4ng:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --restart unless-stopped &lt;image_name&gt;<\/code><\/pre>\n\n\n\n<p><strong>L\u01b0u \u00fd<\/strong>: B\u1ea1n c\u00f3 th\u1ec3 \u00e1p d\u1ee5ng c\u1ea5u h\u00ecnh n\u00e0y cho c\u00e1c container \u0111ang ch\u1ea1y b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng l\u1ec7nh <code>docker update<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>docker update --restart always &lt;container_id_or_name&gt;<\/code><\/pre>\n\n\n\n<p>S\u1eed d\u1ee5ng t\u00f9y ch\u1ecdn <code>--restart<\/code> gi\u00fap \u0111\u1ea3m b\u1ea3o container ho\u1ea1t \u0111\u1ed9ng li\u00ean t\u1ee5c, ngay c\u1ea3 khi h\u1ec7 th\u1ed1ng ho\u1eb7c Docker daemon kh\u1edfi \u0111\u1ed9ng l\u1ea1i.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0110\u1ec3 gi\u1edbi h\u1ea1n k\u00edch th\u01b0\u1edbc file log c\u1ee7a container Docker, b\u1ea1n c\u00f3 th\u1ec3 c\u1ea5u h\u00ecnh c\u00e1c t\u00f9y ch\u1ecdn logging khi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[141,142],"tags":[],"class_list":["post-1446","post","type-post","status-publish","format-standard","hentry","category-devops","category-docker"],"_links":{"self":[{"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/posts\/1446","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1446"}],"version-history":[{"count":1,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/posts\/1446\/revisions"}],"predecessor-version":[{"id":1447,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=\/wp\/v2\/posts\/1446\/revisions\/1447"}],"wp:attachment":[{"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kb.lagonet.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}