ubuntu下卸載docker方式與具體步驟
在 Ubuntu 系統(tǒng)下卸載 Docker 包括卸載 Docker 引擎、相關(guān)配置文件以及清理殘留數(shù)據(jù)。
以下是詳細(xì)步驟:
卸載前的準(zhǔn)備工作
在開始卸載前,有兩件關(guān)鍵的事情需要做:
- 備份數(shù)據(jù):卸載過程會(huì)刪除所有容器、鏡像、卷等數(shù)據(jù),請(qǐng)務(wù)必確認(rèn)已備份所需數(shù)據(jù)。詳細(xì)數(shù)據(jù)備份方法請(qǐng)參照其它文檔。
- 停止服務(wù):首先停止Docker相關(guān)的服務(wù)。
sudo systemctl stop docker

上圖中的警告是因?yàn)槌?docker.service服務(wù)單元,系統(tǒng)中還存在一個(gè) docker.socket 單元。
這個(gè)設(shè)計(jì)是為了按需啟動(dòng)Docker:即使 docker.service 被停止,當(dāng)你執(zhí)行任何Docker命令時(shí),系統(tǒng)檢測(cè)到對(duì) docker.socket 的訪問,也會(huì)自動(dòng)啟動(dòng)Docker服務(wù)。
使用以下命令停用docker.socket,如果你登錄的用戶為root,可以不加sudo,如下圖。
sudo systemctl stop docker.socket sudo systemctl disable docker.socket

卸載 Docker 引擎(CE/EE)------這是官方推薦的方式
卸載 Docker 引擎、CLI 和運(yùn)行的容器
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

上圖在執(zhí)行命令時(shí)報(bào)錯(cuò),其實(shí)是我的系統(tǒng)中沒有安裝docker-buildx-plugin 和 docker-compose-plugin,那么只需在命令行中刪除這兩個(gè)包即可卸載成功,如下圖。

在上圖卸載docker及其組件成功后,日志中有一條警告信息:
dpkg: warning: while removing pnetlab-docker, directory ‘/etc/docker’ not empty so not removed。
提示目錄 /etc/docker 目錄中有文件,無法刪除,我們根據(jù)需要可進(jìn)入目錄手動(dòng)刪除。
如下圖:

清理殘留文件
刪除 Docker 相關(guān)配置和數(shù)據(jù)目錄
sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd sudo rm -rf ~/.docker # 用戶級(jí)的 Docker 配置(如認(rèn)證信息)
刪除 Docker 組(如果有創(chuàng)建過)
sudo groupdel docker


移除依賴和無用包
自動(dòng)移除不再需要的依賴
sudo apt-get autoremove -y

清理 apt 緩存
sudo apt-get clean

驗(yàn)證卸載
檢查 Docker 是否已卸載
docker --version
檢查殘留進(jìn)程(可選)
ps aux | grep docker
下圖提示docker已經(jīng)卸載完成。

從 sources.list 移除 Docker 倉(cāng)庫(kù)
如果之前添加了 Docker 的 APT 倉(cāng)庫(kù),可以移除它:
sudo rm /etc/apt/sources.list.d/docker.list sudo apt-get update
下圖提示我的系統(tǒng)中之前沒有添加Docker 的 APT 倉(cāng)庫(kù),所以移除失敗。

注意事項(xiàng)
- 數(shù)據(jù)備份:卸載前確保備份重要容器、鏡像或卷(/var/lib/docker 下的數(shù)據(jù))。
- 權(quán)限問題:如果非root用戶使用 sudo 操作仍報(bào)錯(cuò),檢查當(dāng)前用戶是否在 docker 組中(卸載后建議移除該組)。
- 其他工具:如果安裝非插件版本的 docker-compose,可使用以下命令單獨(dú)卸載。
sudo apt-get remove docker-compose
下圖顯示沒有安裝非插件版的docker-compose


完成上述步驟后,Docker 應(yīng)已徹底從系統(tǒng)中移除。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker拉取與部署OpenJDK到實(shí)際應(yīng)用的完整流程
這篇文章主要介紹了Docker拉取與部署OpenJDK到實(shí)際應(yīng)用的相關(guān)資料,包括鏡像拉取、容器運(yùn)行、Java程序測(cè)試、Dockerfile構(gòu)建優(yōu)化、容器管理、Spring Boot應(yīng)用部署、數(shù)據(jù)持久化與網(wǎng)絡(luò)配置、常用問題與解決方案以及最佳實(shí)踐總結(jié),需要的朋友可以參考下2025-11-11
Docker Compose多容器部署的實(shí)現(xiàn)
這篇文章主要介紹了Docker Compose多容器部署的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理
這篇文章介紹了Docker容器下運(yùn)行Nginx并實(shí)現(xiàn)反向代理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03
關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問題(避免踩坑)
這篇文章主要介紹了關(guān)于Jenkins + Docker + ASP.NET Core自動(dòng)化部署的問題,本文給大家?guī)砹薲ocker安裝方法及一些注意事項(xiàng),內(nèi)容有點(diǎn)小長(zhǎng),希望朋友們耐心看完,一定有收獲2021-05-05
docker實(shí)踐之從新鏡像啟動(dòng)容器報(bào)錯(cuò)解決
這篇文章主要介紹了docker實(shí)踐之從新鏡像啟動(dòng)容器報(bào)錯(cuò)解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08
docker中nginx的默認(rèn)路徑位置和映射目錄啟動(dòng)方式
這篇文章主要介紹了docker中nginx的默認(rèn)路徑位置和映射目錄啟動(dòng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案
這篇文章主要介紹了DockerCE之執(zhí)行docker info出現(xiàn)兩條警告信息及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
卸載docker-compose實(shí)現(xiàn)過程
本文詳細(xì)描述了如何通過命令行卸載Docker Compose,包括檢查已安裝的包名、使用`yum remove`卸載、清理殘留文件、驗(yàn)證卸載結(jié)果以及注意事項(xiàng)2025-12-12

