欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

管理(限制)Docker日志大小的方法總結(jié)

 更新時(shí)間:2025年08月12日 09:51:45   作者:歐陽方超  
在容器化部署的時(shí)候,因?yàn)闆]有指定日志的最大存儲時(shí)間,導(dǎo)致磁盤被充爆,這篇文章主要介紹了管理(限制)Docker日志大小的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

1 概述

在使用Docker過程中,如果不對容器產(chǎn)生的日志進(jìn)行限制,可能會迅速占用大量的磁盤空間,本文介紹如何限制Docker日志大小,以便更好地管理Docker環(huán)境。

2 Docker日志簡介

Docker默認(rèn)使用json-file日志驅(qū)動(dòng)來記錄容器的標(biāo)準(zhǔn)輸出(stdout)和標(biāo)準(zhǔn)錯(cuò)誤(stderr)。這些日志文件通常存儲在/var/lib/docker/containers/<container-id>目錄下,文件名格式為<container-id>-json.log。隨著容器的持續(xù)運(yùn)行,日志文件會不斷增大,如果沒有適當(dāng)?shù)墓芾聿呗?,可能會?dǎo)致磁盤空間被耗盡。

使用下面的命令可以查看Docker使用的日志驅(qū)動(dòng):

[xiaoliu@localhost ~]$ sudo docker info|grep "Logging Driver"
 Logging Driver: json-file

3 限制Docker日志大小的方法

限制日志大小的方法通常有兩種,一種的全局設(shè)置,另一種是單個(gè)容器設(shè)置。

3.1 通過Docker守護(hù)進(jìn)程配置文件(全局設(shè)置)

3.1.1 修改配置文件

在Docker的守護(hù)進(jìn)程配置文件daemon.json(如果沒有需要?jiǎng)?chuàng)建,通常在/etc/docker目錄下創(chuàng)建)中添加或修改以下內(nèi)容:

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "5"
  }
}

其中,log-driver指定使用json-file日志驅(qū)動(dòng)(這是默認(rèn)驅(qū)動(dòng),如果之前沒有更改過,可不設(shè)置)。max-size設(shè)置單個(gè)日志文件的最大大小,這里設(shè)置為100m,即100MB,max-file設(shè)置保留的最大日志文件數(shù)量,這里設(shè)置為3,表示當(dāng)日志文件達(dá)到最大大小時(shí),Docker會自動(dòng)創(chuàng)建新的日志文件,并保留最近的3個(gè)日志文件,舊的日志文件將被刪除。

3.1.2 重啟Docker服務(wù)

重啟Docker服務(wù),使之生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

注意,通過這種方式設(shè)置的日志限制只對新創(chuàng)建的容器生效,對于已經(jīng)在運(yùn)行的容器,需要重新創(chuàng)建才能應(yīng)用新的日志限制。

3.2 在創(chuàng)建容器時(shí)指定日志選項(xiàng)(單個(gè)容器設(shè)置)

使用docker run命令創(chuàng)建容器時(shí),可以通過–log-driver和–log-opt參數(shù)來指定,下面是一個(gè)創(chuàng)建nginx容器并指定參數(shù)的示例:

[xiaoliu@localhost ~]$ sudo docker run -d --name nginx -p 80:80 nginx:1.26.3-alpine-perl --log-driver=json-file --log-opt max-size=100m --log-opt max-file=5
92ba89c7694c485194bb9e787efda74c68795b53a977f38d66afa87bda85572e

這種方式,可以為每個(gè)容器單獨(dú)設(shè)置不同的日志限制策略,更加靈活地管理日志。

對于使用docker-compose管理的容器,可以在docker-compose.yml文件中為每個(gè)服務(wù)配置日志選項(xiàng),例如,下面是一個(gè)創(chuàng)建nginx容器的例子:

version: "3"

services:
  nginx:
    image: nginx:1.26.3-alpine-perl
    container_name: mynginx
    ports:
      - "80:80"
    logging:
      driver: "json-file"
      options:
        max-size: 100m
        max-file: "5"

這樣在使用docker-compose up啟動(dòng)容器時(shí),mynginx服務(wù)的日志將按照設(shè)置的規(guī)則進(jìn)行管理。

4 總結(jié)

通過上面的方法可以有效限制Docker日志的大小,合理管理磁盤空間。

到此這篇關(guān)于管理(限制)Docker日志大小的文章就介紹到這了,更多相關(guān)限制Docker日志大小內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker cp 拷貝文件 和 進(jìn)入容器的操作

    docker cp 拷貝文件 和 進(jìn)入容器的操作

    這篇文章主要介紹了docker cp 拷貝文件 和 進(jìn)入容器的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • docker拉取redis最新鏡像并運(yùn)行的方法詳解

    docker拉取redis最新鏡像并運(yùn)行的方法詳解

    這篇文章主要介紹了docker拉取redis最新鏡像并運(yùn)行的方法,文章通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • Docker使用Calico網(wǎng)絡(luò)模式配置及問題處理方法

    Docker使用Calico網(wǎng)絡(luò)模式配置及問題處理方法

    這篇文章主要介紹了Docker使用Calico網(wǎng)絡(luò)模式配置及問題處理,設(shè)計(jì)思想是Calico不使用隧道或者NAT來實(shí)現(xiàn)轉(zhuǎn)發(fā),而是巧妙的把所有二三層流量轉(zhuǎn)換成三層流量,并通過host上路由配置完成跨host轉(zhuǎn)發(fā),需要的朋友可以參考下
    2022-11-11
  • 關(guān)于docker啟動(dòng)jenkins環(huán)境的問題

    關(guān)于docker啟動(dòng)jenkins環(huán)境的問題

    這篇文章主要介紹了docker啟動(dòng)jenkins環(huán)境的問題,文中提到了jenkins基本工作原理及管理員密碼獲取方法,對docker啟動(dòng)jenkins環(huán)境相關(guān)知識感興趣的朋友一起看看吧
    2022-04-04
  • docker掛載NVIDIA顯卡運(yùn)行pytorch的方法

    docker掛載NVIDIA顯卡運(yùn)行pytorch的方法

    這篇文章主要介紹了docker掛載NVIDIA顯卡運(yùn)行pytorch的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Docker部署SonarQube的詳細(xì)流程

    Docker部署SonarQube的詳細(xì)流程

    SonarQube是一款開源代碼檢測工具,運(yùn)作流程是這樣的,先通過 sonar-scanner 插件掃描代碼,把數(shù)據(jù)存儲到數(shù)據(jù)庫,sonarQube 讀取數(shù)據(jù)庫,將數(shù)據(jù)庫展現(xiàn)在 web 平臺,本篇介紹通過 docker 來安裝,感興趣的朋友一起看看吧
    2022-02-02
  • Docker部署rabbitmq遇到的兩個(gè)問題

    Docker部署rabbitmq遇到的兩個(gè)問題

    當(dāng)使用docker部署rabbitmq時(shí)遇到兩個(gè)問題,訪問交換機(jī)時(shí)報(bào)錯(cuò),另一種是訪問channel時(shí)報(bào)錯(cuò),本文給大家分享解決方案,感興趣的朋友跟隨小編一起看看吧
    2021-07-07
  • Docker命令中的各種參數(shù)使用(run、v、rm、-w、-u、-e)

    Docker命令中的各種參數(shù)使用(run、v、rm、-w、-u、-e)

    本文主要介紹了Docker命令中的各種參數(shù)使用(run、v、rm、-w、-u、-e),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案

    遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案

    這篇文章主要介紹了遠(yuǎn)程連接Docker上的Mysql失敗的分析與解決方案的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • Docker設(shè)置日志滾動(dòng)的解決方案

    Docker設(shè)置日志滾動(dòng)的解決方案

    Docker容器默認(rèn)將日志寫入同一文件,可能導(dǎo)致磁盤滿,解決方案包括修改全局docker.service配置或針對特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動(dòng)的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10

最新評論