[Docker] 刪除容器時,出現 Error running DeleteDevice dm_task_run failed 錯誤

[Docker] 刪除容器時,出現 Error running DeleteDevice dm_task_run failed 錯誤

今天想要移除一個 docker container 時,

突然遇到奇怪的錯誤,說 devicemapper: Error running DeleteDevice dm_task_run failed:

testuser@localhost ~ $ docker rm -f a0a58ab923ba

Error response from daemon: Driver devicemapper failed to remove root filesystem a0a58ab923bad5657eabbe5fa00d241471e233f1f142833cde5f4707e060de3d: failed to remove device 87a472753633c2b7b69321f116f7cfaaed4d3079c978646777162cf5d7c11fcd-init:devicemapper: Error running DeleteDevice dm_task_run failed

 

查了一下好像沒什麼好方法,

想想反正這些 container 都可以再重建,

那就先停掉 docker 服務,刪掉 /var/lib/docker 目錄,

再重啟 docker 服務:

systemctl stop docker
sudo rm -rf /var/lib/docker
systemctl start docker

 

docker 服務重啟後,/var/lib/docker 的目錄又自己長出來了:

testuser@localhost ~ $ sudo ls -l /var/lib/docker

total 0
drwx------. 2 root root  6 Sep  9 11:23 containers
drwx------. 3 root root 21 Sep  9 11:23 image
drwxr-x---. 3 root root 18 Sep  9 11:23 network
drwx------. 3 root root 38 Sep  9 11:23 overlay2
drwx------. 4 root root 30 Sep  9 11:23 plugins
drwx------. 2 root root  6 Sep  9 11:23 swarm
drwx------. 2 root root  6 Sep  9 11:23 tmp
drwx------. 2 root root  6 Sep  9 11:23 trust
drwx------. 2 root root 24 Sep  9 11:23 volumes

 

這時用 docker ps 或 docker images 指令,

會發現所有的 container 和映象檔,都已經消失了:

testuser@localhost ~ $ docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

testuser@localhost ~ $ docker images -a

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

 

參考資料:Docker dm_task_run failed error – Stack Overflow

(本頁面已被瀏覽過 1,178 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料