docker報【Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed】錯
docker默認數據都保存在/var/lib/docker目錄下,默認情況下根分區空間都不大,在網上找到個方案:
service docker stop
cp -prf /var/lib/docker /data/
rm -rf /var/lib/docker
使用ln鏈接 或
啟動時使用--graph
參數來指定存儲路徑。 --data-root
或者使用systemd
來管理服務, 就在docker.service
中修改這一行:
ExecStart=/usr/bin/dockerd --graph=/path/to/docker/dir
重啟后執行sudo docker info | grep "Root Dir"
,可以看到根路徑已經改變了。
thin_check /data/docker/devicemapper/devicemapper/metadata
thin_check --clear-needs-check-flag /data/docker/devicemapper/devicemapper/metadata
service docker start
后續步驟:
- 刪除沒啟動的images:
docker rmi $(docker images -q) - 刪除沒啟動的containers
docker rm $(docker ps -a -q)