问题原因

  1. 发现 tab 键无法使用
    1. cd /h-bash: 无法为立即文档创建临时文件: 设备上没有空间
  2. 查看 磁盘空间 df -hl 发现 [Linux Docker容器磁盘出现日志/var/lib/docker/overlay2占用100%](https://www.jb51.cc/docker/1039319.html)
    1. image.png

问题处理

参考: https://www.jb51.cc/docker/1039319.html

  1. ## 查看 linux 磁盘情况
  2. df-h
  3. ## 进入docker 的 overlay2
  4. cd /var/lib/docker/overlay2/
  5. ## 查看容量
  6. du -h --max-depth=1
  7. ## 进入容量大的文件夹
  8. cd /var/lib/docker/containers
  9. ## 查看容量
  10. du -h --max-depth=1
  11. ## 进入容量大的文件夹
  12. cd /var/lib/docker/containers/36dd4f23cb26c85b9201d5f324f25e7f6292d90e7d77e725e086695a0dcd6896
  13. du -ah
  14. ## 跟原博文,我这里是小写 json.log
  15. cat /dev/null > *-json.log

如果说要从根本方法解决docker容器日志文件磁盘满载的问题,有几种解决方法

image.png

方法一:不推荐,但是最快捷有效,把当前运行的容器直接给停止删掉

方法二:在docker运行的时候指定日志的最大磁盘容量

  1. docker run ...... --log-opt max-size=10m --log-opt max-file=1

方法三:在docker的配置文件进行全局修改:新建或修改/etc/docker/daemon.Json,添加log-dirver和log-opts参数(daemon.Json):

  1. {
  2. "log-driver": "json-file",
  3. "log-opts": {
  4. "max-size": "10m",
  5. "max-file": "3",
  6. "labels": "production_status",
  7. "env": "os,customer"
  8. }
  9. }

方法四:该方法针对docker-compose的童鞋们,在docker-compose文件中配置日志

我在测试这个方式,还在测试中不知道有没有效果 - 2022/05/20

  1. logging:
  2. options:
  3. max-size: '12m'
  4. max-file: '5'
  5. driver: json-file