docker目录 docker日志清理 docker迁移 docker清理 overlay2限制overlay2.size

# 查看docker相关存储占用

docker system df
TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
Images              20                  20                  2.068GB             315.5MB (15%)
Containers          39                  36                  13.45MB             13.36MB (99%)
Local Volumes       0                   0                   0B                  0B
Build Cache         0                   0                   0B                  0B

# 参考:Docker 生产环境之配置对象 - 修剪/删除(prune)未使用的 Docker 对象_kikajack的博客-CSDN博客

1 清理72小时前 不用的镜像

$ docker image prune -a --filter "until=72h"

2 清理 72小时前 停止的容器

$ docker container prune --filter "until=72h"

3 修改72小时之前 网络

$ docker network prune --filter "until=72h"

4 修改72小时之前 volumes 和一切

docker system prune --filter "until=72h" # 低版本修剪一切
docker system prune --volumes --filter "until=72h" # 17版本之后需要加这个修剪一切

备注:默认情况下,系统会提示是否继续。要绕过提示,请使用 -f 或 --force 标志。

docker system prune -f --filter "until=72h"

5 清理日志

# /var/lib/docker目录结构  Docker文件目录 - 简书

Docker默认的文件目录位于Linux server的/var/lib/docker 下面。目录结构如下

|-----aufs :docker后端文件存储系统|-----diff:存放docker image的subimage,每个目录中存放了subimage的真实文件和目录

                                                          |-----layers:存放docker image的layer文件,每个layer文件都记录了其祖先image列表

                                                          |-----mnt:每个容器实例的文件layer的目录挂载点

|-----containers:用于存储容器信息

|-----image:用来存储镜像中间件及本身信息,大小,依赖信息

|-----network

|-----swarm

|-----tmp:docker临时目录

|-----trust:docker信任目录

|-----volumes:docker卷目录


# 清理日志 Docker容器日志查看与清理(亲测有效)_yjk13703623757的博客-CSDN博客_docker 容器日志

# 查看日志脚本

#!/bin/sh

echo "======== docker containers logs file size ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
             ls -lh $log   
        done  

# 单个日志清理命令

truncate -s 0 429cbdfcb3f4436c7a616f0d81a02a9402515fb30250914adb52f3a5218945b8-json.log

# 清理 所有容器日志脚本

#!/bin/sh 
  
echo "======== start clean docker containers logs ========"  
  
logs=$(find /var/lib/docker/containers/ -name *-json.log)  
  
for log in $logs  
        do  
                echo "clean logs : $log"  
                cat /dev/null > $log  
        done  

echo "======== end clean docker containers logs ========"  

# 单个容器设置log大小

nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: “json-file” 
    options: 
      max-size: “5g” 

# 全局设置log日志大小

# vim /etc/docker/daemon.json

{
  "registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

# 设置完记得重启docker

// 重启docker守护进程
# systemctl daemon-reload
# systemctl restart docker

迁移:docker的/var/lib/docker目录迁移 - 熊小熊的个人页面 - OSCHINA - 中文开源技术交流社区

推荐迁移:/var/lib/docker/overlay2 占用很大,清理Docker占用的磁盘空间,迁移 /var/lib/docker 目录_七爷OK-CSDN博客_/var/lib/docker/overlay2

清理:11.1 Docker 清理none镜像 Prune命令_万物得其本者生,百事得其道者成-CSDN博客

# overlay2.size限制 

原文:Docker storage-driver overlay2 限制容器可占用的磁盘空间_小楼一夜听春雨,深巷明朝卖杏花-CSDN博客_docker限制磁盘空间

# 根据目录id查找容器id 等信息

通过docker overlay2 目录名查找容器名和容器ID_drifter-CSDN博客_docker的overlay2目录

docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep "目录ID"

# 未解决 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值