Git Product home page Git Product logo

docker-disk's Introduction

这是一个便携的Docker运维小工具,方便运维或开发人员查找容器的磁盘占用,如果机器为kubernetes node节点,则可以通过k8s参数对名称进行解析,解析后的名称将更友好的显示kubernetes pod信息

k8s容器临时存储长时间情况下会导致容器磁盘占用量增大,可以通过ephemeral-storage参数限制k8s容器磁盘,但是这种会导致使用过程中容器被驱逐,对开发人员不太友好,更好的方式是采用NFS或其他磁盘存储

运维人员排查容器磁盘占用可使用docker system df -v查看容器和镜像磁盘占用,但是过滤筛选比较麻烦,通过此工具,可以快速过滤筛选磁盘信息,结合kubectl可以快速删除占用量大的POD容器

编译安装

go build 

Linux服务器快速安装

curl https://ddn-cloud.oss-cn-beijing.aliyuncs.com/github/docker-disk/docker-disk-linux-amd64 -o /usr/bin/docker-disk
chmod +x /usr/bin/docker-disk

使用命令

# 显示所有容器磁盘占用
./docker-disk

# 使用k8s名称解析
./docker-disk -k8s

# 过滤磁盘占用大于1g的容器
./docker-disk -size 1g

# 过滤磁盘占用大于100m的容器
./docker-disk -size 100m

# 不显示k8s pause容器
./docker-disk -k8s -nopause

配合kubectl删除容器

# 显示删除命令
./docker-disk -k8s -size 1g -delete-commond

# 调用kubectl删除
./docker-disk -k8s -size 1g -delete-commond |xargs -I {} bash -c "{}"

版本异常解决

Error response from daemon: client version 1.39 is too new. Maximum supported API version is 1.35

解决:

# 指定API版本 
./docker-disk -withversion 1.35
./docker-disk -withversion `docker version|grep "API version"|awk '{print $3}'|head -n 1`

截图展示

img img

docker-disk's People

Contributors

typ431127 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

rechardwang

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.