清理无用容器和镜像
1 | docker system prune |
该指令默认会清除所有如下资源:
- 已停止的容器(container)
- 未被任何容器所使用的卷(volume)
- 未被任何容器所关联的网络(network)
- 所有悬空镜像(image)。
该指令默认只会清除悬空镜像,未被使用的镜像不会被删除。
添加 -a 或 –all 参数后,可以一并清除所有未使用的镜像和悬空镜像。
可以添加 -f 或 –force 参数用以忽略相关告警确认信息。
指令结尾处会显示总计清理释放的空间大小。
清理日志
Docker容器的日志默认存储在主机的/var/lib/docker/containers/
目录。
删除某个容器的日志:
1
2删除某个容器的日志,[container_id]替换为容器的id
echo " " > /var/lib/docker/containers/[container_id]/*-json.log使用脚本删除所有容器日志
- 创建脚本:
clean_dockerlog.sh
1
2
3
4
5
6
7
8echo '
!/bin/sh
logs=`find /var/lib/docker/containers/ -name *-json.log`
for docker_log in $logs
do
echo " " > $docker_log
done
' > clean_dockerlog.sh - 执行脚本
创建完脚本后,以后需要清理日志只需要执行sh clean_dockerlog.sh
。
删除none镜像
none是Docker产生的临时镜像,可以使用以下命令批量删除:
1
docker rmi $(docker images | grep "none" | awk '{print $3}')
- 创建脚本: