清理已经停止的容器
docker container prune
or
docker rm $(docker ps -q -f status=exited)
清理镜像
# 查看镜像docker imagesdocker rmi $(docker images -q -f "dangling=true")
or
# 查看过程镜像docker images | grep "none"docker rmi $(docker images | grep "none" | awk '/ / { print $3 }')
清理所有不用数据
docker system prune -a
停止的容器,不使用的
volume
,不使用的networks
,悬挂的镜像(过程镜像)
同样的方法可以用在 network
,volume
,image
等
docker network prunedocker volume prunedocker image prune
清理固定名称容器
docker stop $(docker ps | awk '/rancher/{print $1}')docker rm $(docker ps -a | awk '/rancher/{print $1}')rmi $(docker images -a | awk '/rancher/{print $3}')
清理旧的Git Runner
docker ps -f status=exited | grep "\-cache-" | awk '{print $1}' | xargs docker rm
清理挂载
docker volume rm $(docker volume ls -qf dangling=true)docker volume ls -qf dangling=true | xargs -r docker volume rm
清理网络
docker network lsdocker network ls | grep "bridge"$ docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')
清理容器日志
cat /dev/null >/var/lib/docker/containers/containerid/containerid.log-json.log
找到对应container的日志文件,一般是在 /var/lib/docker/containers/containerid/containerid.log-json.log(containerid是指你的容器id)
限制日志大小和文件
在容器启动配置(/etc/docker/daemon.json
)中设置 :
{ "log-driver":"json-file", "log-opts":{ "max-size":"10m", "max-file":3 }}
或在docker run
时携带参数:
--log-opt max-size=10m --log-opt max-file=3
控制 Machine 大小
docker-machine create --driver virtualbox --virtualbox-disk-size "40000" default
附
查看文件夹占用空间
du -sh *