由於docker默認存放數據路徑為/var/lib/docker,但運行了一段時間后,發現/var/lib/docker下的目錄文件過大,導致此分區空間不夠用。通過以下方法,解決該問題。
如何避免:
最好是在docker安裝完后,第一時間修改docker默認存儲位置為其他大目錄或者磁盤中。規避遷移數據過程中造成的風險。
方式一:修改默認存儲路徑
直接移出數據,並修改docker默認存放路徑位置
1、移出數據
systemctl stop docker
mkdir -p /data1/docker/ #創建新的docker目錄,執行命令df -h,找一個大的磁盤
rsync -avz /var/lib/docker/ /data1/docker/ #遷移到新路徑下
2、修改配置默認路徑
#添加--graph=/data1/docker/
[root@cdh03 ~]# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd-current --graph=/data1/docker/\
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
[root@cdh03 ~]# systemctl daemon-reload
[root@cdh03 ~]# systemctl start docker
[root@cdh03 ~]# docker info |grep "Docker Root Dir"
Docker Root Dir: /data1/docker
[root@cdh03 ~]# docker images #確認之前的鏡像是否還在
[root@cdh03 ~]# docker ps -a
3、確定容器沒問題后刪除/var/lib/docker/目錄中的文件
方式二:軟連接
systemctl stop docker
mkdir -p /data1/docker/ #創建新的docker目錄,執行命令df -h,找一個大的磁盤
rsync -avz /var/lib/docker/ /data1/docker/ #遷移到新路徑下
mv /var/lib/docker /data/docker_bak
ln -s /data1/docker /var/lib/
systemctl daemon-reload
systemctl start docker