docker 常用命令

2021/2/10 docker

# 批量清理

删除所有dangling数据卷

docker volume rm $(docker volume ls -qf dangling=true)
1

删除所有dangling镜像(即无tag的镜像)

docker rmi $(docker images | grep "<none>" | awk "{print $3}")
1

删除所有镜像 (有容器引用的镜像会删除失败)

docker rmi $(docker images | awk "{print $3}")
1

删除所有关闭的容器

docker ps -a | grep Exit | cut -d ' ' -f 1 | xargs docker rm
1

清理磁盘,删除关闭的容器、无用的数据卷和网络,以及dangling镜像(即无tag的镜像)

docker system prune
1

除上述外,还包括未使用的镜像和关闭的容器

docker system prune -a
1

# 修改daemon的根目录

默认为/var/lib/docker,自测修改之后会出现一些异常,暂未深入研究。

#/etc/docker/daemon.json
{
    "graph":"/data/docker"
}
1
2
3
4

# 配置容器日志文件大小

容器长时间运行,标准输出的日志会占用很大空间。

#/etc/docker/daemon.json
{
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"100m",
        "max-file":"1"
    }
}
1
2
3
4
5
6
7
8