ubuntu系统使用docker gitlab 磁盘空间满的问题及解决

 更新时间:2023年05月26日 08:36:50   作者:一只海星  
这篇文章主要介绍了ubuntu系统使用docker gitlab 磁盘空间满的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

问题

发现git上传不了,登录服务器,table补齐命令都报错,发现根目录磁盘使用率100%

解决问题

问题排查:

1.使用排查docker使用空间

docker system df 

未见异常

2.清理系统缓存

sudo apt autoremove
rm -rf ~/.cache/thumbnails/*
sudo rm -rf ~/.local/share/Trash/*
....

等等一顿操作下来,还是100%,reboot

发现界面都进不去了!

屮!

3.进入终端

Ctrl+Alt+F2

登录终端

4.查找大文件夹

sudo du -hsx /* | sort -rh | head -10

一层层找进去,在/var/lib/docker/containers目录发发现了一个日志文件*-json.log占了几百个G

我屮艸芔茻!!!!

删掉,重启,系统启动正常

but,docker gitlab还是起不来,一直starting

一直报错…

[+] Running 2/1
 ⠿ Network docker_gitlab_default  Created                                                                                                                                                                                              0.1s
 ⠿ Container gitlab               Created                                                                                                                                                                                              0.1s
Attaching to gitlab
gitlab  | Thank you for using GitLab Docker Image!
gitlab  | Current version: gitlab-ce=11.1.4-ce.0
gitlab  | 
gitlab  | Configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
gitlab  | And restart this container to reload settings.
gitlab  | To do it use docker exec:
gitlab  | 
gitlab  |   docker exec -it gitlab vim /etc/gitlab/gitlab.rb
gitlab  |   docker restart gitlab
gitlab  | 
gitlab  | For a comprehensive list of configuration options please see the Omnibus GitLab readme
gitlab  | https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
gitlab  | 
gitlab  | If this container fails to start due to permission problems try to fix it by executing:
gitlab  | 
gitlab  |   docker exec -it gitlab update-permissions
gitlab  |   docker restart gitlab
gitlab  | 

gitlab  | Preparing services...
gitlab  | Starting services...
gitlab  | Configuring GitLab package...
gitlab  | /opt/gitlab/embedded/bin/runsvdir-start: line 24: ulimit: pending signals: cannot modify limit: Operation not permitted
gitlab  | /opt/gitlab/embedded/bin/runsvdir-start: line 37: /proc/sys/fs/file-max: Read-only file system
gitlab  | JSON file with existing configuration not found inside /opt/gitlab/embedded/nodes.
gitlab  | Skipping config check.
gitlab  | gitlab preinstall: 
gitlab  | gitlab preinstall: This node does not appear to be running a database
gitlab  | gitlab preinstall: Skipping version check, if you think this is an error exit now
gitlab  | gitlab preinstall: 
gitlab  | Configuring GitLab...

使用docker exec -it gitlab update-permissions等操作,然并nuan~

找到最后持续输出的打印如下:

gitlab  | ==> /var/log/gitlab/postgresql/current <==
gitlab  | 2023-02-16_07:24:22.32111 FATAL:  lock file "postmaster.pid" is empty
gitlab  | 2023-02-16_07:24:22.32112 HINT:  Either another server is starting, or the lock file is the remnant of a previous server startup crash.
gitlab  | 2023-02-16_07:24:23.32501 FATAL:  lock file "postmaster.pid" is empty
gitlab  | 2023-02-16_07:24:23.32502 HINT:  Either another server is starting, or the lock file is the remnant of a previous server startup crash.
gitlab  | 2023-02-16_07:24:24.32886 FATAL:  lock file "postmaster.pid" is empty
gitlab  | 2023-02-16_07:24:24.32887 HINT:  Either another server is starting, or the lock file is the remnant of a previous server startup crash.
gitlab  | 2023-02-16_07:24:25.33276 FATAL:  lock file "postmaster.pid" is empty
gitlab  | 2023-02-16_07:24:25.33278 HINT:  Either another server is starting, or the lock file is the remnant of a previous server startup crash.

进入docker 容器,在根目录find这个文件postmaster.pid,删之…,重启容器,一切正常!

切记

磁盘空间满先不要不要乱删东西!!!

一劳永逸解决问题

更改docker日志全局设置

在主机修改docker配置问题,只对新建docker容器有效。

# 排查Docker容器日志输出情况  docker  inspect  --format {{.LogPath}}  容器名/容器ID   
vim /etc/docker/daemon.json
{
   "registry-mirrors": [
       "https://mirror.ccs.tencentyun.com",
        "https://10odyesl.mirror.aliyuncs.com"
  ],
  "log-driver":"json-file",
  "log-opts": {"max-size":"300m", "max-file":"3"}
}
systemctl restart docker
systemctl daemon-reload 

更改容器配置(docker-compose)

修改 docker-compose.yml,增加如下配置。yml分级按两个空格缩进,可以使用在线yml格式校验

    logging:
      driver: "json-file"
      options:
        max-size: "50m"
        max-file: "2

查看配置:docker inspect -f ‘{{.HostConfig.LogConfig}}’ 容器名xxx

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker启动elasticsearch时内存不足问题及解决方法

    docker启动elasticsearch时内存不足问题及解决方法

    这篇文章主要介绍了docker启动elasticsearch时内存不足问题,本文给大家分享安装过程及解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 详解如何在 docker 容器中捕获信号

    详解如何在 docker 容器中捕获信号

    本篇文章主要介绍了如何在 docker 容器中捕获信号,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • docker build运行报错source: not found解决分析

    docker build运行报错source: not found解决分析

    这篇文章主要为大家介绍了docker build运行报错source: not found解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Docker镜像之不同服务器间迁移方法大全

    Docker镜像之不同服务器间迁移方法大全

    最近工作中遇到了个需求,要将Docker容器迁移到另外一台服务器上,所以下面这篇文章主要给大家介绍了关于Docker镜像之不同服务器间迁移方法的相关资料,需要的朋友可以参考下
    2023-06-06
  • Docker Stack 部署web集群的方法步骤

    Docker Stack 部署web集群的方法步骤

    这篇文章主要介绍了Docker Stack 部署web集群的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Docker系列之使用Docker Compose编排容器

    Docker系列之使用Docker Compose编排容器

    Docker Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,这篇文章主要介绍了Docker系列之使用Docker Compose编排容器,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Docker数据卷与拦截以及目录拦截详解

    Docker数据卷与拦截以及目录拦截详解

    在Docker中可以使用数据卷目录挂载来将主机上的目录与容器内的目录进行映射,下面这篇文章主要给大家介绍了关于Docker数据卷与拦截以及目录拦截的相关资料,需要的朋友可以参考下
    2024-01-01
  • linux中docker的安装教程

    linux中docker的安装教程

    这篇文章主要介绍了linux中docker的安装教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • docker实现mysql主从复制的示例代码

    docker实现mysql主从复制的示例代码

    Docker它不香吗?即省去了安装Mysql所需要的步骤,有多个容器之间相互资源独立,IP互不冲突,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • docker搭建Hadoop CDH高可用集群实现

    docker搭建Hadoop CDH高可用集群实现

    本文主要介绍了docker搭建Hadoop CDH高可用集群实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论