Làm Cách Nào để Loại Bỏ Các Docker Container, Hình ảnh, Khối Lượng ...
Có thể bạn quan tâm
Docker cho phép bạn nhanh chóng xây dựng, kiểm tra và triển khai các ứng dụng dưới dạng các thùng chứa di động, tự cung cấp, có thể chạy hầu như mọi nơi.
Docker không loại bỏ các đối tượng không sử dụng như thùng chứa, hình ảnh, khối lượng và mạng trừ khi bạn nói rõ ràng làm như vậy. Khi bạn làm việc với Docker, bạn có thể dễ dàng tích lũy một số lượng lớn các đối tượng không sử dụng, tiêu tốn dung lượng đĩa đáng kể và làm lộn xộn đầu ra được tạo ra bởi các lệnh Docker.
Hướng dẫn này đóng vai trò là một trang cheat gian lận, để giúp người dùng Docker giữ cho hệ thống của họ được tổ chức và giải phóng không gian đĩa bằng cách loại bỏ các container, hình ảnh, khối lượng và mạng Docker không sử dụng.
Loại bỏ tất cả các đối tượng không sử dụng
Lệnh docker system prune sẽ loại bỏ tất cả các container bị dừng, tất cả các hình ảnh lơ lửng và tất cả các mạng không sử dụng:
docker system prune
Bạn sẽ được nhắc tiếp tục, sử dụng cờ -f hoặc --force để bỏ qua lời nhắc.
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?
docker system prune --volumes
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y
Loại bỏ các Docker Container
Các container Docker không được tự động loại bỏ khi bạn dừng chúng trừ khi bạn khởi động container bằng cờ --rm .
Loại bỏ một hoặc nhiều container
Để xóa một hoặc nhiều hình ảnh Docker, hãy sử dụng lệnh docker container rm theo sau là ID của các container bạn muốn xóa.
Bạn có thể lấy danh sách tất cả các container bằng cách chuyển cờ -a đến docker container ls của docker container ls :
docker container ls -a
Đầu ra sẽ trông giống như thế này:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani
Khi bạn biết CONTAINER ID của các thùng chứa bạn muốn xóa, hãy chuyển nó đến lệnh docker container rm . Ví dụ: để loại bỏ hai container đầu tiên được liệt kê trong đầu ra ở trên:
docker container rm cc3f2ff51cab cd20b396a061
Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.
Loại bỏ tất cả các container đã dừng
Trước khi thực hiện lệnh gỡ bỏ, bạn có thể nhận được một danh sách tất cả các container không chạy (đã dừng) sẽ bị xóa bằng lệnh sau:
docker container ls -a --filter status=exited --filter status=created
Để loại bỏ tất cả các container bị dừng, sử dụng lệnh docker container prune :
docker container prune
Bạn sẽ được nhắc tiếp tục, sử dụng cờ -f hoặc --force để bỏ qua lời nhắc.
WARNING! This will remove all stopped containers. Are you sure you want to continue? y
Loại bỏ các container bằng bộ lọc
Lệnh docker container prune cho phép bạn loại bỏ các container dựa trên điều kiện bằng cách sử dụng cờ lọc - bộ lọc.
Tại thời điểm viết bài viết này, các bộ lọc hiện được hỗ trợ là until và label . Bạn có thể sử dụng nhiều bộ lọc bằng cách sử dụng nhiều cờ - bộ lọc.
Ví dụ: để xóa tất cả các hình ảnh được tạo hơn 12 giờ trước, hãy chạy:
docker container prune --filter "until=12h"
Dừng và loại bỏ tất cả các container
Bạn có thể lấy danh sách tất cả các container Docker trên hệ thống của mình bằng docker container ls -aq .
Để dừng tất cả các container đang chạy, sử dụng lệnh docker container stop theo sau là danh sách tất cả các ID container.
docker container stop $(docker container ls -aq)
Khi tất cả các container bị dừng, bạn có thể loại bỏ chúng bằng lệnh docker container rm theo sau là danh sách ID container.
docker container rm $(docker container ls -aq)
Xóa hình ảnh Docker
Xóa một hoặc nhiều hình ảnh
Để xóa một hoặc nhiều hình ảnh Docker, hãy sử dụng docker images ls để tìm ID của hình ảnh bạn muốn xóa.
docker image ls
Đầu ra sẽ trông giống như thế này:
REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB
Khi bạn đã định vị được những hình ảnh bạn muốn xóa, hãy chuyển IMAGE ID của họ cho lệnh docker image rm . Ví dụ: để xóa hai hình ảnh đầu tiên được liệt kê trong đầu ra ở trên:
docker image rm 75835a67d134 2a4cca5ac898
Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134
Xóa hình ảnh lơ lửng
Docker cung cấp một lệnh docker image prune có thể được sử dụng để loại bỏ hình ảnh lơ lửng và không sử dụng.
Hình ảnh lơ lửng là hình ảnh không được gắn thẻ và không được sử dụng bởi bất kỳ container nào. Để loại bỏ hình ảnh lơ lửng:
docker image prune
Bạn sẽ được nhắc tiếp tục, sử dụng cờ -f hoặc --force để bỏ qua lời nhắc.
WARNING! This will remove all dangling images. Are you sure you want to continue? y Khi xóa hình ảnh lơ lửng, nếu hình ảnh do bạn tạo không được gắn thẻ, chúng cũng sẽ bị xóa.
Xóa tất cả các hình ảnh không sử dụng
Để xóa tất cả các hình ảnh không được tham chiếu bởi bất kỳ vùng chứa hiện có nào, không chỉ các hình ảnh lơ lửng, hãy sử dụng lệnh prune với cờ -a :
docker image prune -a
WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y
Xóa ảnh bằng các bộ lọc
Với lệnh docker image prune , bạn cũng có thể xóa hình ảnh dựa trên một điều kiện nhất định bằng cách sử dụng cờ lọc - bộ lọc.
Tại thời điểm viết bài viết này, các bộ lọc hiện được hỗ trợ là until và label . Bạn có thể sử dụng nhiều bộ lọc bằng cách sử dụng nhiều cờ - bộ lọc.
Ví dụ: để xóa tất cả các hình ảnh được tạo ra hơn 12 giờ trước, bạn sẽ chạy:
docker image prune -a --filter "until=12h"
Loại bỏ các tập tin Docker
Xóa một hoặc nhiều tập
Để xóa một hoặc nhiều khối Docker, hãy sử dụng docker volume ls để tìm ID của các ổ bạn muốn loại bỏ.
docker volume ls
Đầu ra sẽ trông giống như thế này:
DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano
Khi bạn đã tìm thấy VOLUME NAME của các ổ đĩa bạn muốn xóa, hãy chuyển chúng vào lệnh docker volume rm . Ví dụ: để loại bỏ âm lượng đầu tiên được liệt kê trong đầu ra ở trên, hãy chạy:
docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163
Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -
Xóa tất cả khối lượng không sử dụng
Để loại bỏ tất cả các khối lượng không sử dụng, sử dụng lệnh docker image prune :
docker volume prune
Bạn sẽ được nhắc tiếp tục, sử dụng cờ -f hoặc --force để bỏ qua lời nhắc.
WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?
Xóa mạng Docker
Xóa một hoặc nhiều mạng
Để xóa một hoặc nhiều mạng Docker, hãy sử dụng docker network ls để tìm ID của các mạng bạn muốn xóa.
docker network ls
Đầu ra sẽ trông giống như thế này:
NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local
Khi bạn đã định vị được các mạng mà bạn muốn xóa, hãy chuyển NETWORK ID của họ cho lệnh docker network rm . Ví dụ: để xóa mạng với tên my-bridge-network run:
docker network rm c520032c3d31
Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints
Xóa tất cả các mạng không sử dụng
Sử dụng lệnh docker network prune để loại bỏ tất cả các mạng không sử dụng.
docker network prune
Bạn sẽ được nhắc tiếp tục, sử dụng cờ -f hoặc --force để bỏ qua lời nhắc.
WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?
Xóa mạng bằng các bộ lọc
Với lệnh docker network prune bạn có thể loại bỏ các mạng dựa trên điều kiện bằng cách sử dụng cờ lọc - bộ lọc.
Tại thời điểm viết bài viết này, các bộ lọc hiện được hỗ trợ là until và label . Bạn có thể sử dụng nhiều bộ lọc bằng cách sử dụng nhiều cờ - bộ lọc.
Ví dụ: để xóa tất cả các mạng được tạo hơn 12 giờ trước, hãy chạy:
docker network prune -a --filter "until=12h"
Phần kết luận
Trong hướng dẫn này, chúng tôi đã chỉ cho bạn một số lệnh phổ biến để loại bỏ các container, hình ảnh, khối lượng và mạng Docker.
Bạn cũng nên kiểm tra tài liệu Docker chính thức.
bến tàuTừ khóa » Gỡ Cài đặt Docker Trên Windows 10
-
CÀI DOCKER TRÊN WINDOWS 10 NHƯ THẾ NÀO ? - Athena
-
Cài đặt Docker Trên Windows 10 - Viblo
-
Cách Cài đặt Docker Trên PC Windows 10 Chi Tiết Từ AZ
-
Sổ Tay Docker: Hướng Dẫn Cài đặt Docker
-
How To Uninstall Docker Desktop From Windows 10 - YouTube
-
Hướng Dẫn Cài Đặt Docker Trên Windows 10 - 2021
-
Configure Docker In Windows - Microsoft Docs
-
How To Stop Docker Desktop Windows Mới Nhất Năm 2022 ...
-
Cài đặt Docker Trên Windows 10 Không Cần Docker Toolbox
-
Install Docker Desktop On Windows
-
Cách Cài đặt Docker Trên Windows - TEDU
-
[Video] 4 Cách Xóa, Gỡ Cài đặt Phần Mềm Trên Windows 10 Cực đơn ...
-
How To Stop Docker Desktop On Windows 10 Mới Nhất Năm 2022
-
How To Uninstall Docker Machine Under Windows 10 - Stack Overflow