docker磁盘管理(七)

随着我们运行docker时间越来越长,下载的docker镜像越来越多,经常会遇到如下的提示:

1
no space left on device
1
2
3
4
5
6
docker system prune
WARNING! This will remove:
- all stopped containers 删除所有停止的容器
- all networks not used by at least one container 所有没被使用的网卡
- all dangling images 所有的悬空镜像
- all dangling build cache 所有的悬空编译缓存
1
2
3
4
5
6
7
docker container prune # 删除所有退出状态的容器
docker volume prune # 删除未被使用的数据卷
docker image prune # 删除 dangling 或所有未被使用的镜像

docker system prune #删除已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache
# 安全起见,这个命令默认不会删除那些未被任何容器引用的数据卷,如果需要同时删除这些数据卷,你需要显式的指定 --volumns 参数
docker system prune --all --force --volumns #这次不仅会删除数据卷,而且连确认的过程都没有了!注意,使用 --all 参数后会删除所有未被引用的镜像而不仅仅是 dangling 镜像

修改配置文件

find / -name “docker.service”

1
2
3
4
5
/sys/fs/cgroup/system.slice/docker.service
【已修改】/etc/systemd/system/multi-user.target.wants/docker.service
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/lib/systemd/system/docker.service
/var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/docker.service

leafpad /usr/lib/systemd/system/docker.service

ExecStart=/usr/sbin/dockerd -H fd:// $DOCKER_OPTS

通过以上命令可以得知docker存放的地址

df -h /usr/sbin/dockerd命令查docker存放的空间有多少。如果空间不足的话,就会出现no space left on device的报错。

参考资料