Bỏ qua điều hướng
← Về danh sách bài viết
Blog Công Nghệ

Hướng dẫn cách gỡ Docker trên Ubuntu và macOS hoàn toàn, nhanh chóng

Gỡ Docker trên Ubuntu và macOS hoàn toàn : Cách xóa sạch Docker Engine/Desktop, Container, Image, Volume và file cấu hình ẩn triệt để.

huong-dan-cach-go-docker-tren-ubuntu-va-macos

Docker là nền tảng phổ biến để đóng gói, chạy và quản lý ứng dụng trong môi trường Container. Tuy nhiên, trong quá trình sử dụng, người dùng có thể cần gỡ Docker để giải phóng dung lượng, khắc phục lỗi, cài đặt lại phiên bản mới hoặc chuyển sang một công cụ Container khác.

Việc xóa Docker khỏi hệ thống không đơn giản chỉ là gỡ ứng dụng. Tùy cách cài đặt và hệ điều hành, Docker có thể còn Container, Image, Volume, file cấu hình và dữ liệu liên quan sau khi phần mềm chính được gỡ bỏ.

Vậy gỡ Docker trên Ubuntu và macOS như thế nào để loại bỏ Docker hoàn toàn mà vẫn hạn chế rủi ro mất dữ liệu? Hãy cùng BKNS tìm hiểu chi tiết trong bài viết dưới đây.

1. Cần làm gì trước khi gỡ Docker?

Trước khi thực hiện gỡ Docker trên Ubuntu và macOS, người dùng nên kiểm tra những dữ liệu đang được Docker sử dụng.

Docker có thể lưu trữ nhiều thành phần như: Container, Docker Image, Volume, Network, Build Cache, File cấu hình, Dữ liệu ứng dụng.

Trong đó, Docker Volume cần được đặc biệt lưu ý vì có thể chứa Database, file ứng dụng hoặc dữ liệu quan trọng. Nếu xóa Volume mà chưa sao lưu, dữ liệu bên trong có thể bị mất.

Kiểm tra Container

Để xem các Container hiện có:

text
docker ps -a

Lệnh trên hiển thị cả Container đang chạy và đã dừng.

Kiểm tra Image

Sử dụng:

text
docker images

Nếu có Image cần sử dụng lại sau khi cài Docker, người dùng nên lưu hoặc ghi chú trước khi tiến hành xóa.

Kiểm tra Volume

Để xem danh sách Volume:

text
docker volume ls

Nếu Volume chứa dữ liệu quan trọng, hãy sao lưu trước khi tiếp tục.

Lưu ý: Các bước xóa dữ liệu Docker ở phía dưới có thể làm mất Container, Image, Volume và dữ liệu liên quan. Chỉ thực hiện khi bạn chắc chắn không còn nhu cầu sử dụng hoặc đã sao lưu dữ liệu cần thiết. Việc backup Volume trước khi uninstall cũng là bước được khuyến nghị trong các hướng dẫn gỡ Docker hoàn toàn.

2. Cách gỡ Docker trên Ubuntu

Trên Ubuntu, Docker phổ biến nhất dưới dạng Docker Engine được cài thông qua APT. Vì vậy, quá trình gỡ sẽ tập trung vào việc dừng Docker, xóa các package liên quan và xử lý dữ liệu còn lại.

2.1. Dừng Docker

Trước tiên, dừng Docker Service:

text
sudo systemctl stop docker

Có thể dừng thêm Docker Socket:

text
sudo systemctl stop docker.socket

Nếu hệ thống đang sử dụng containerd riêng, có thể kiểm tra trạng thái trước khi xử lý:

text
sudo systemctl status containerd

Việc dừng dịch vụ trước khi gỡ giúp hạn chế tình trạng package hoặc file đang được sử dụng bởi tiến trình Docker.

2.2. Gỡ các package Docker

Nếu Docker Engine được cài từ Docker APT Repository, có thể gỡ các package chính bằng:

text
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

Sau đó dọn các dependency không còn sử dụng:

text
sudo apt autoremove

Docker Docs cũng sử dụng cách tiếp cận gỡ các package Docker Engine và plugin liên quan bằng APT khi uninstall trên Ubuntu.

Tên package có thể khác tùy cách Docker được cài đặt. Nếu trước đó bạn cài Docker bằng package khác, nên kiểm tra package đang tồn tại trước khi xóa.

2.3. Kiểm tra Docker đã được gỡ khỏi package chưa

Có thể kiểm tra:

text
dpkg -l | grep -i docker

Nếu không còn package Docker cần thiết, có thể chuyển sang bước xử lý dữ liệu còn lại.

3. Cách xóa dữ liệu Docker trên Ubuntu

Gỡ package Docker chưa đồng nghĩa với việc toàn bộ dữ liệu Docker đã biến mất.

Docker Engine có thể lưu dữ liệu tại:

text
/var/lib/docker

Ngoài ra, containerd có thể sử dụng:

text
/var/lib/containerd

Nếu mục tiêu của bạn là gỡ Docker hoàn toàn và không cần giữ lại dữ liệu cũ, có thể xóa hai thư mục này.

text
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Đây là bước cần đặc biệt cẩn thận vì dữ liệu Container, Image, Volume và các thành phần Docker liên quan có thể bị xóa. OneUptime cũng tách riêng bước xóa các thư mục dữ liệu sau khi gỡ package Docker.

3.1. Xóa cấu hình Docker

Nếu không còn nhu cầu giữ cấu hình Docker cũ, có thể xóa:

text
sudo rm -rf /etc/docker

Cấu hình này có thể bao gồm các thiết lập của Docker daemon.

Đối với cấu hình Docker của tài khoản người dùng:

text
rm -rf ~/.docker

Tuy nhiên, thư mục ~/.docker có thể chứa thông tin đăng nhập Registry hoặc các thiết lập khác. Vì vậy, hãy kiểm tra trước khi xóa nếu bạn dự định cài và sử dụng Docker lại.

3.2. Xóa Docker Repository và keyring

Nếu Docker được cài từ repository chính thức, hệ thống có thể vẫn còn file repository hoặc keyring.

Có thể kiểm tra:

text
ls /etc/apt/sources.list.d/

Nếu còn repository Docker không sử dụng, hãy xử lý file tương ứng.

Ví dụ:

text
sudo rm -f /etc/apt/sources.list.d/docker.sources
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.asc

Sau đó cập nhật lại danh sách package:

text
sudo apt update
Không nên xóa tất cả file trong /etc/apt/sources.list.d/. Chỉ xử lý những file thực sự thuộc Docker.

4. Cách gỡ Docker trên macOS

Trên macOS, người dùng thường sử dụng Docker Desktop thay vì cài Docker Engine trực tiếp như trên Ubuntu.

Do đó, cách gỡ Docker trên macOS sẽ khác Linux.

4.1. Thoát Docker Desktop

Trước khi gỡ, hãy đảm bảo Docker Desktop đã được đóng.

Nhấp vào biểu tượng Docker trên thanh menu → chọn Quit Docker Desktop.

Nếu Docker Desktop vẫn đang chạy, quá trình gỡ có thể không hoàn tất đúng cách.

4.2. Gỡ Docker Desktop bằng giao diện ứng dụng

Nếu Docker Desktop vẫn hoạt động bình thường, có thể sử dụng chức năng uninstall được tích hợp trong ứng dụng.

Mở Docker Desktop → Troubleshoot → Uninstall.

Cách này phù hợp với người dùng phổ thông vì Docker Desktop có thể tự xử lý các thành phần liên quan trong quá trình uninstall. Hướng dẫn của OneUptime cũng tách riêng phương án uninstall thông thường khỏi phương án xóa thủ công khi Docker Desktop gặp lỗi.

4.3. Gỡ Docker Desktop khi ứng dụng bị lỗi

Nếu Docker Desktop không thể mở hoặc chức năng uninstall không hoạt động, có thể thực hiện gỡ thủ công.

Xóa ứng dụng Docker:

text
sudo rm -rf /Applications/Docker.app

Sau đó xử lý các thư mục dữ liệu Docker Desktop nếu muốn dọn sạch hoàn toàn:

text
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.docker

Docker Desktop trên macOS sử dụng các thư mục dữ liệu riêng, do đó việc chỉ xóa Docker.app chưa chắc đã loại bỏ toàn bộ dữ liệu liên quan. Các hướng dẫn clean-up sâu cũng xử lý thêm những thư mục trong ~/Library và cấu hình người dùng.

Cảnh báo: Chỉ thực hiện các lệnh xóa dữ liệu trên nếu bạn chắc chắn không cần Container, Image, Volume hoặc cấu hình Docker cũ.

5. Cách xóa dữ liệu Docker còn lại trên macOS

Sau khi uninstall Docker Desktop, người dùng có thể kiểm tra lại những thành phần Docker còn tồn tại.

5.1. Kiểm tra thư mục cấu hình

Kiểm tra:

text
ls -la ~/.docker

Nếu thư mục vẫn còn và không cần dữ liệu bên trong, có thể xóa:

text
rm -rf ~/.docker

5.2. Kiểm tra Docker CLI

Sử dụng:

text
which docker

Sau đó:

text
docker --version

Nếu Docker CLI đã được gỡ, Terminal sẽ không còn tìm thấy lệnh docker.

Trong một số trường hợp, Docker CLI có thể được cài độc lập hoặc thông qua công cụ khác. Vì vậy, nếu which docker vẫn trả về đường dẫn, không nên xóa file đó một cách tùy tiện mà cần xác định nguồn cài đặt trước.

6. Kiểm tra Docker đã được gỡ hoàn toàn chưa?

Sau khi hoàn thành các bước trên, nên kiểm tra lại hệ thống để đảm bảo Docker không còn hoạt động và những dữ liệu không cần thiết đã được xử lý.

6.1. Kiểm tra trên Ubuntu

Kiểm tra Docker CLI:

text
docker --version

Kiểm tra vị trí Docker:

text
which docker

Kiểm tra package:

text
dpkg -l | grep -i docker

Kiểm tra thư mục dữ liệu:

text
ls -la /var/lib/docker

Nếu mục tiêu là gỡ sạch, những thành phần Docker không còn cần thiết sẽ không xuất hiện hoặc không còn dữ liệu tương ứng.

6.2. Kiểm tra trên macOS

Sử dụng:

text
docker --version

và:

text
which docker

Có thể kiểm tra thêm tiến trình Docker:

text
ps aux | grep -i docker

Nếu Docker Desktop đã được gỡ và Docker CLI không còn được cài độc lập, hệ thống sẽ không còn tiến trình Docker đang chạy.

7. Một số lưu ý khi gỡ Docker

7.1. Gỡ Docker không đồng nghĩa với xóa dữ liệu

Đây là điểm người dùng cần phân biệt rõ.

Gỡ Docker là loại bỏ phần mềm và các thành phần cần thiết để Docker hoạt động.

Trong khi đó, xóa dữ liệu Docker là thao tác riêng, có thể bao gồm Container, Image, Volume, Cache và cấu hình.

Do đó, nếu chỉ muốn cài lại Docker nhưng vẫn cần dữ liệu cũ, không nên vội xóa toàn bộ thư mục dữ liệu.

7.2. Cẩn thận với Docker Volume

Volume có thể chứa dữ liệu Database hoặc ứng dụng.

Ví dụ, một Container MySQL hoặc PostgreSQL có thể sử dụng Volume để lưu dữ liệu. Nếu xóa Volume, việc cài lại Docker sau đó không tự động khôi phục được dữ liệu đã mất.

Vì vậy:

Có dữ liệu quan trọng → Backup trước → Sau đó mới gỡ và xóa dữ liệu.

7.3. Không nên sử dụng rm -rf nếu chưa xác định đúng thư mục

Một số lệnh trong quá trình clean-up Docker sử dụng rm -rf, đây là lệnh xóa mạnh và không có bước xác nhận.

Do đó, hãy kiểm tra đường dẫn trước khi thực hiện, đặc biệt với các thư mục trong:

text
/var/lib/

và:

text
~/Library/

7.4. Nếu chỉ muốn giải phóng dung lượng, chưa nhất thiết phải gỡ Docker

Nếu mục tiêu chỉ là giải phóng dung lượng ổ đĩa, người dùng không nhất thiết phải uninstall Docker.

Có thể kiểm tra dung lượng Docker đang sử dụng:

text
docker system df

Sau đó cân nhắc dọn các Container, Image hoặc Build Cache không còn sử dụng.

Ví dụ:

text
docker system prune

Nếu muốn xóa mạnh hơn:

text
docker system prune -a

Với Volume, cần đặc biệt thận trọng vì việc xóa dữ liệu Volume có thể gây mất dữ liệu. Các hướng dẫn về Docker cũng phân biệt rõ việc prune tài nguyên không sử dụng với việc xóa toàn bộ dữ liệu Docker.

8. Tổng kết

Gỡ Docker trên Ubuntu và macOS không chỉ đơn giản là xóa ứng dụng hoặc package. Nếu muốn loại bỏ Docker hoàn toàn, người dùng cần xem xét cả Docker Engine/Docker Desktop, Container, Image, Volume, cấu hình và dữ liệu còn lại.

Trên Ubuntu, quy trình phổ biến gồm dừng Docker, gỡ các package bằng APT, kiểm tra và xử lý dữ liệu tại /var/lib/docker, /var/lib/containerd cùng các file cấu hình nếu không còn nhu cầu sử dụng.

Trên macOS, Docker thường được sử dụng thông qua Docker Desktop. Người dùng có thể uninstall trực tiếp từ Docker Desktop hoặc thực hiện clean-up thủ công nếu ứng dụng gặp lỗi.

Điều quan trọng nhất trước khi thực hiện là kiểm tra dữ liệu và sao lưu những thành phần cần thiết, đặc biệt là Docker Volume. Nếu chỉ muốn giải phóng dung lượng, hãy cân nhắc sử dụng các lệnh Docker Cleanup thay vì gỡ toàn bộ Docker.

Sau cùng, kiểm tra lại bằng docker --version, which docker và các lệnh kiểm tra package hoặc tiến trình để đảm bảo Docker đã được xử lý đúng theo nhu cầu.

Xem thêm: