1.查看存儲情況
1.1/var/lib/docker/
是Docker的根目錄,容器和鏡像都存儲在這個位置,解決占用空間的問題必須遷移該目錄,這里先查看該目錄使用情況
[root@iZuf68uxjd82vso8nsfwc9Z docker]# du -hs /var/lib/docker/
12G /var/lib/docker/
1.2使用Docker命令docker system df
查看Docker磁盤使用情況,使用docker system prune
清理關閉的容器、無用是數據卷和網絡,以及無tag的鏡像
[root@iZuf68uxjd82vso8nsfwc9Z docker]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 17 4 5.567GB 4.054GB (72%)
Containers 4 4 6.676GB 0B (0%)
Local Volumes 4 0 0B 0B
Build Cache 0 0 0B 0B
[root@iZuf68uxjd82vso8nsfwc9Z docker]# 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
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
docker system prune -a
命令更徹底,會刪除沒有容器使用的鏡像
2.遷移/var/lib/docker/
目錄
2.1先停止docker服務
systemctl stop docker
2.2先創建好將要遷移的目錄
mkdir -p /data/docker/lib
2.3將var/lib/docker
同步到/data/docker/lib
rsync -avz /var/lib/docker /data/docker/lib
2.4配置/etc/systemd/system/docker.service.d/devicemapper.conf
。查看devicemapper.conf
是否存在,如果不存在請創建
mkdir -p /etc/systemd/system/docker.service.d/
vi /etc/systemd/system/docker.service.d/devicemapper.conf
2.5寫入映射目錄
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --graph=/data/docker/lib
2.6重新加載Docker
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
2.7檢查目前Docker根目錄,確定當前目錄已遷移,再查看容器鏡像是否存在docker images
[root@iZuf68uxjd82vso8nsfwc9Z docker]# docker info
...
Docker Root Dir: /data/docker/lib
...
2.8確認無誤后刪除 /var/lib/docker
rm -rf /var/lib/docker