限制gitlab的docker容器日志空间占用

摘要: 错误的容器配置会造成docker容器的日志不断累积的问题, 例如在我的电脑上曾累积超过200GB的日志。 通过修改配置, 可以有效避免这种问题的发生。


〓 Table of Contents 〓




问题描述

对于使用docker desktop部署了private gitlab的朋友, 如果配置不当, 会造成docker容器的日志不断累积的问题。 例如在我的Mac Mini上就累积了超过200GB的日志文件。 通过修改配置, 可以有效避免这种问题的发生。

配置更改

假设我们有一个正在运行的gitlab容器,可以通过以下步骤更新其日志设置:

  1. 首先我们查询容器id, 并根据id停止容器的运行
    1
    2
    3
    4
    5
    6
    # 查询id
    docker ps
    # 停止容器运行
    docker stop your_container_id
    # 移除容器(注意,这不会删除容器的数据卷):
    docker rm your_container_id
  2. 接着,我们重新运行docker run来启动一个新的容器, 但注意, 这次我们更新启动命令, 把对日志大小的限制放到启动命令里面去
    1
    docker run -d --log-opt max-size=50m --log-opt max-file=3 your_image_name
    举个例子, 我的gitlab的启动命令如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sudo docker run --detach \
    --hostname {你的ip} \
    --publish {你的端口1} \
    --publish {你的端口2} \
    --name gitlab \
    --restart always \
    --log-opt max-size=50m \ # 这是重点
    --log-opt max-file=3 \ # 这是重点
    --volume ~/gitlab/config:/etc/gitlab:Z \
    --volume ~/gitlab/logs:/var/log/gitlab:Z \
    --volume ~/gitlab/data:/var/opt/gitlab:Z \
    {你的镜像}

这样子, 我们的gitlab日志就再不会大于50m了。

作者

Jiawei Li

发布于

2024-06-02

更新于

2024-06-02

许可协议