记录较少使用到的命令,刚需时又急切查找的docker操作命令。
一.docker 清理命令
1.1docker 删除未使用到的镜像
docker image prune -a
docker image prune -a -f #-f强制清理,不需要确认
1.2 docker 批量清理TAG <none> 镜像ID
docker rmi $(docker images -f "dangling=true" -q)
1.3 docker 清理启动失败的镜像, STATUS 为Exited的 镜像ID
查找STATUS 为Exited的 镜像ID
docker ps -a | grep Exited | awk '{print $1}'
批量清理STATUS 为Exited的 镜像ID
docker rm $(docker ps -a | grep Exited | awk '{print $1}')
1.4查看所有运行容器的进程信息
for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
1.5 清理docker 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 ========"
1.6 清理所有dangling数据卷(即无用的volume)
docker volume rm $(docker volume ls -qf dangling=true)
1.7 查看docker 占用磁盘信息
docker system df -v
二 docker update命令
2.1 设置开机自启动
docker update --restart=always container_id
2.2取消开机启动
docker update --restart=no container_id
三 查找命令
3.1 根据pid 进程号查找对应容器名称
docker ps -q | xargs docker inspect --format '{{.State.Pid}} {{.Name}}' | column -t |grep $pid