- List item
一键启动所有docker 容器:docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
- 一键关闭所有docker 容器:docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
- 一键删除所有docker 容器:docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)
- 一键删除所有docker 镜像:docker rmi $(docker images | awk ‘{print $3}’ |tail -n +2)
- 批量删除已经退出的容器:docker ps -a | grep “Exited” | awk ‘{print $1 }’ | xargs docker rm
- 批量删除带有none字段的镜像:
# 方案1: 根据镜像id删除镜像
docker images| grep none |awk '{print $3 }'|xargs docker rmi
# 方案2: 根据镜像名删除镜像
docker images | grep bp| awk '{print $1":"$2}' | xargs docker rmi
删除镜像定时任务脚本
#!/bin/bash
# create by wangduanduan
# when current free disk less then max free disk, you can remove docker images
#
GREEN='\033[0;32m'
RED='\033[0;31m'
NC='\033[0m'
max_free_disk=5 # 5G. when current free disk less then max free disk, remove docker images
current_free_disk=`df -lh | grep centos-root | awk '{print strtonum($4)}'`
df -lh
echo "max_free_disk: $max_free_disk G"
echo -e "current_free_disk: ${GREEN} $current_free_disk G ${NC}"
if [ $current_free_disk -lt $max_free_disk ]
then
echo -e "${RED} need to clean up docker images ${NC}"
docker images | grep none | awk '{print $3 }' | xargs docker rmi
docker images | grep wecloud | awk '{print $1":"$2}' | xargs docker rmi
else
echo -e "${GREEN}no need clean${NC}"
fi