Hướng dẫn cách xóa Docker Images, Containers

725
19-01-2021
Hướng dẫn cách xóa Docker Images, Containers

Trong bài viết này, Bizfly Cloud sẽ hướng dẫn cho bạn một số cách cơ bản: cách xóa docker Images, Containers và nhiều điều khác!

 Giới thiệu 

Docker giúp bạn dễ dàng gói các ứng dụng và dịch vụ của mình trong các container để bạn có thể chạy chúng ở bất cứ đâu. Tuy nhiên, khi bạn làm việc với Docker, bạn cũng có thể bị tồn đọng quá nhiều images, container và volume không sử dụng làm loạn output khi truy vấn lệnh và tiêu tốn dung lượng disk.

Docker cung cấp cho bạn tất cả các công cụ bạn cần để dọn dẹp hệ thống của mình qua dòng lệnh.

Xóa tất cả images,container, volume và network không sử dụng

Docker cung cấp một lệnh duy nhất sẽ dọn dẹp mọi tài nguyên - image, container, volume và network - đang không được liên kết với container :

```

docker system prune

```

Để xóa toàn bộ container đã dừng và tất cả các images không sử dụng, thêm -a vào lệnh:

```

docker system prune -a

```

Xóa các Docker Images

Xóa 1 hoặc nhiều image được chỉ định

Sử dụng lệnh docker images với tùy chọn -a để lấy ID của image mà bạn muốn xóa. Lệnh này sẽ hiển thị cho bạn mọi images, bao gồm cả các images trung gian. Khi bạn đã xác định được các images muốn xóa, bạn có thể truyền ID hoặc Tag của chúng vào lệnh docker rmi:

Liệt kê các images :

```

docker images -a

```

Xóa các images :

```

docker rmi [Image] [Image]

```

Xóa images dựa theo pattern

Bạn có thể tìm thấy tất cả các images phù hợp với một pattern bằng cách sử dụng kết hợp docker images và grep. Sau khi có kết quả phù hợp, bạn có thể xóa chúng bằng cách sử dụng awk để truyền ID vào docker rmi. Lưu ý rằng các tiện ích này không do Docker cung cấp và không nhất thiết có sẵn trên tất cả các hệ thống :

Liệt kê các images :

```

docker images -a |  grep "pattern"

```

Xóa các images :

```

docker images -a | grep "pattern" | awk '{print $3}' | xargs docker rmi

```

Xóa toàn bộ các images

Tất cả các images Docker trên một hệ thống có thể được liệt kê bằng cách thêm -a vào lệnh docker images. Khi bạn chắc chắn muốn xóa tất cả, bạn có thể thêm cờ -q để truyền image ID vào lệnh docker rmi:

Liệt kê các images :

```

docker images -a

```

Xóa các images :

```

docker rmi $(docker images -a -q)

```

Xóa các container

Xóa 1 hoặc nhiều container được chỉ định

Sử dụng lệnh docker ps với option -a để lấy tên hoặc ID của container bạn muốn xóa:

Liệt kê các container :

```

docker ps -a

```

Xóa container:

```

docker rm ID_or_Name ID_or_Name

```

Xóa tất cả các container đã thoát

Bạn có thể định vị các container bằng cách sử dụng docker ps -a và lọc chúng theo trạng thái của chúng: đã tạo (created), khởi động lại (restarting), đang chạy (running), tạm dừng (paused) hoặc đã thoát (exited). Để xem lại danh sách các container đã thoát, hãy sử dụng tùy chọn -f để lọc dựa trên trạng thái. Khi đã có kết quả, bạn muốn xóa các container đó, hãy sử dụng -q để truyền các ID vào lệnh docker rm.

Liệt kê các container :

```

docker ps -a -f status=exited

```

Xóa container:

```

docker rm $(docker ps -a -f status=exited -q)

```

Xóa container dựa theo pattern

Bạn có thể tìm thấy tất cả các container phù hợp với một pattern bằng cách sử dụng kết hợp giữa docker ps và grep. Khi có kết quả phù hợp, bạn có danh sách muốn xóa,có thể sử dụng awk và xargs để truyền  ID cho docker rm. Lưu ý rằng những tiện ích này không do Docker cung cấp và không nhất thiết phải có trên tất cả các hệ thống:

Liệt kê các container :

```

docker ps -a |  grep "pattern”

```

Xóa các container:

```

docker ps -a | grep "pattern" | awk '{print $1}' | xargs docker rm

```

Dừng và xóa tất cả các container

Bạn có thể xem lại các container trên hệ thống của mình bằng lệnh docker ps. Thêm option -a sẽ hiển thị tất cả các container. Khi bạn chắc chắn muốn xóa chúng, bạn có thể thêm tùy chọn -q để cung cấp ID cho các lệnh docker stop và docker rm:

Liệt kê các container :

```

docker ps -a

```

Xóa các container:

```

docker stop $(docker ps -a -q)

docker rm $(docker ps -a -q)

```

Theo Bizfly Cloud chia sẻ

TAGS: docker
SHARE