วิธีถอนการติดตั้งนักเทียบท่าอย่างสมบูรณ์


57

ผมทำตามคำแนะนำถอนการติดตั้งที่นี่ จากนั้นฉันก็รันคำสั่งเหล่านี้:

sudo apt-get purge docker-engine
sudo apt-get autoremove --purge docker-engine
rm -rf /var/lib/docker

ดังนั้นหลังจากที่ฉันทำทั้งหมดนี้ฉันก็ใช้คำสั่งนี้เพื่อดูว่าไฟล์นักเทียบท่าอยู่ที่ใด:

sudo find / -name '*docker*'

ฉันพบสถานที่หลายแห่งที่ยังคงมีไฟล์นักเทียบท่าอยู่

/etc
/sys
/lib
/usr
/usr
/run
/proc
/var

นักเทียบท่ามีอยู่ในโฟลเดอร์ย่อยในรายการด้านบน ฉันสามารถโพสต์ทุกเส้นทางหากคุณต้องการ มีที่ตั้งประมาณ 200 แห่ง

มีวิธีในการลบนักเทียบท่าอย่างสมบูรณ์และสมบูรณ์ทุกที่หรือไม่?

คำตอบ:


81

หากต้องการถอนการติดตั้ง Docker โดยสมบูรณ์:

ขั้นตอนที่ 1

dpkg -l | grep -i docker

ในการระบุแพ็คเกจที่ติดตั้งคุณมี:

ขั้นตอนที่ 2

sudo apt-get purge -y docker-engine docker docker.io docker-ce  
sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce  

คำสั่งข้างต้นจะไม่ลบภาพภาชนะบรรจุปริมาณหรือไฟล์กำหนดค่าที่ผู้ใช้สร้างขึ้นบนโฮสต์ของคุณ หากคุณต้องการลบภาพภาชนะและวอลลุ่มทั้งหมดให้รันคำสั่งต่อไปนี้:

sudo rm -rf /var/lib/docker /etc/docker
sudo rm /etc/apparmor.d/docker
sudo groupdel docker
sudo rm -rf /var/run/docker.sock

คุณได้ลบ Docker ออกจากระบบโดยสมบูรณ์


4
/usr/local/bin/docker-composeนอกจากนี้ผมต้องลบ
Gaia

9
ฉันยังจำได้ว่าจะลบ/etc/dockerไดเรกทอรีและเนื้อหาทั้งหมด
paulperry

3
ฉันเห็นรายการที่เกี่ยวข้องนักเทียบท่าเมื่อ$ sudo iptables -Lหลังจากนี้
eugene

4
ในกรณีของฉันฉันต้องใช้sudo apt-get purge docker-ce-cliเช่นกัน
irene

2
ฉันยังต้องลบ~/.dockerไดเรกทอรี
SBH

7

หากคุณอยู่บน Ubuntu ฉันพบว่าการถอนการติดตั้งนักเทียบท่านั้นง่ายกว่ามากหากติดตั้งsnapไว้ คุณทำ:

sudo snap remove docker

และเพื่อลบไฟล์ที่เกี่ยวข้องทั้งหมด

sudo find / -name "*docker*" -exec `rm -rf` {} +

9
snapคำสั่งเป็นอย่างดีพอ แต่ดูแลก่อนที่จะลบทุกอย่างในระบบของคุณด้วยdockerในชื่อ!
davidbak

1
คุณบันทึกกล่อง MAAS ของฉันแล้ว :)
David West

0

dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null)คุณสามารถระบุแพคเกจไฟล์เหล่านั้นมาจากการที่มีคำสั่งเช่น แพ็คเกจใด ๆ ที่คุณไม่ต้องการคุณสามารถลบออกsudo apt-get purge <package>ได้ โปรดใช้ความระมัดระวังเมื่อทำเช่นนี้เนื่องจากแพ็คเกจบางตัวมีการรองรับนักเทียบท่า แต่คุณอาจไม่ต้องการลบพูดตัวแก้ไขข้อความหรือตัวจัดการไฟล์ด้วยเหตุผลดังกล่าว

หากไฟล์บางไฟล์ไม่ได้มาจากแพ็คเกจ (ระบุโดย "dpkg-query: ไม่พบพา ธ ของรูปแบบพา ธ ที่ตรงกัน") คุณสามารถลบออกทีละรายการได้ อีกครั้งโปรดใช้ความระมัดระวังเนื่องจากอาจมีไฟล์ที่ไม่เกี่ยวข้องกับนักเทียบท่าที่คุณต้องการลบซึ่งมีสตริง "นักเทียบท่า" ในชื่อของพวกเขา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.