Nếu bạn đang cần một nền tảng vùng chứa mã nguồn mở, toàn diện để tạo sự độc lập giữa các ứng dụng và cơ sở hạ tầng, thì Docker là lựa chọn an toàn nhất cho bạn. Nếu bạn có cơ hội sử dụng nó, bạn đã biết nó có khả năng và dễ sử dụng như thế nào
Một số lượng lớn các công ty công nghệ thông tin và điện toán đám mây thấy nó cực kỳ hữu ích và sự phổ biến của nó chắc chắn là xứng đáng.
Tuy nhiên, điều này không làm cho nó trở nên hoàn hảo. Bằng chứng có thể được nhìn thấy trong những hạn chế đi kèm với việc loại bỏ hình ảnh, khối lượng, vùng chứa và mạng. Mặc dù các lệnh này có sẵn, nhưng chúng không toàn diện như người dùng có thể muốn.
Tại đây, bạn sẽ thấy các vấn đề chính mà người dùng gặp phải cũng như các giải pháp cho họ. Bạn sẽ học cách xóa hình ảnh và vùng chứa một cách dễ dàng.
Vấn đề
Công nghệ vùng chứa cung cấp một cách trực quan hóa các hệ điều hành. Nó cho phép một ứng dụng được đóng gói với tất cả những gì cần thiết để chạy nó, cho phép nó hoạt động độc lập với hệ điều hành.
Hình ảnh vùng chứa là các gói ứng dụng thực thi độc lập bao gồm mọi thứ cần thiết để ứng dụng hoạt động bình thường. Thời gian chạy, mã, cấu hình, công cụ hệ thống và thư viện được chứa trong mỗi hình ảnh.
Khi bạn sử dụng Docker, những hình ảnh này sẽ tích lũy lại. Theo thời gian, một số lượng lớn hình ảnh, khối lượng dữ liệu và vùng chứa không sử dụng được tích lũy, tạo ra một môi trường Docker đông đúc. Khi điều này xảy ra, cần phải làm mới môi trường để nền tảng hoạt động như bình thường.
Có nhiều lệnh có thể làm cho điều này xảy ra, vì vậy chúng ta hãy xem xét các cách chính để khử lộn xộn môi trường Docker của bạn.
Xóa hình ảnh Docker
Trước khi có thể loại bỏ những hình ảnh không cần thiết, bạn cần phân biệt chúng với những hình ảnh hữu ích. Điều này có thể được thực hiện dễ dàng bằng cách liệt kê tất cả các hình ảnh trong hệ thống của bạn bằng cách sử dụng lệnh quản lý hình ảnh.
Đây là những gì nó trông như thế nào:
$ docker image # liệt kê các hình ảnh được tạo gần đây nhất
Hoặc là
$ docker image -a #list all images
Với lệnh thứ hai, bạn sẽ thấy tất cả các hình ảnh docker của mình. Tất cả những gì bạn phải làm là tìm cái gọi là 'hình ảnh lủng lẳng'. Đây là tất cả các hình ảnh Docker không chứa thẻ. Nếu không có thẻ, không có kết nối với các hình ảnh được gắn thẻ, điều đó có nghĩa là chúng không còn hữu ích nữa.
Bạn có thể xóa một hoặc nhiều hình ảnh bằng cách sử dụng ID hình ảnh. Để thực hiện việc này, hãy sử dụng một trong các lệnh sau:
$ docker rmi d65c4d6a3580 # xóa một hình ảnh duy nhất
$ docker rmi 612866ff4869 e19e33310e49 abe0cd4b2ebc #remove nhiều hình ảnh
Một giải pháp thuận tiện hơn là sử dụng cờ bộ lọc -f để liệt kê tất cả các hình ảnh treo lơ lửng.
Để xóa những hình ảnh này và dọn dẹp dung lượng ổ đĩa, hãy sử dụng một trong các lệnh sau:
$ docker image trimne # tự động loại bỏ các hình ảnh lủng lẳng
Hoặc là
$ docker rmi $ (hình ảnh docker -q -f dangling = true)
Bạn có thể xóa tất cả các hình ảnh Docker theo cách tương tự. Liệt kê chúng bằng cách sử dụng lệnh $ docker images –a, sau đó xóa chúng bằng cách sử dụng như sau:
$ (docker rmi $ (hình ảnh docker -a -q)
Một tùy chọn khác là xóa các hình ảnh theo một mẫu nhất định. Để liệt kê chúng, hãy sử dụng lệnh sau:
$ docker hình ảnh -a | grep "mẫu"
Sau đó, xóa chúng bằng cách sử dụng:
$ docker hình ảnh -a | grep "mẫu" | awk '{print $ 3}' | xargs docker rmi
Loại bỏ các vùng chứa
Một điều khác bạn có thể muốn làm sau khi làm việc với Docker trong một khoảng thời gian nhất định là xóa một hoặc nhiều vùng chứa.
Tương tự như xóa hình ảnh, trước tiên bạn cần liệt kê chúng bằng cách sử dụng lệnh sau:
$ docker ps
Hoặc là
$ docker ps -a
Khi bạn tìm thấy các vùng chứa bạn muốn xóa, hãy sử dụng ID của chúng để thực hiện.
$ docker rm 0fd99ee0cb61 # hủy bỏ một vùng chứa duy nhất
$ docker rm 0fd99ee0cb61 0fd99ee0cb61 # loại bỏ nhiều vùng chứa
Trong trường hợp vùng chứa bạn đang cố gắng xóa đang chạy, bạn có thể sử dụng lệnh sau để dừng nó:
$ docker dừng 0fd99ee0cb61
$ docker rm -f 0fd99ee0cb61
Cuối cùng, bạn có thể dừng và xóa tất cả các vùng chứa không cần thiết bằng cách sử dụng các lệnh sau:
$ docker stop $ (docker ps -a -q) #stop tất cả các vùng chứa
$ docker container tỉa # tự động loại bỏ tất cả các vùng chứa đã dừng
Hoặc là
$ docker rm $ (docker ps -qa)
Điều này sẽ cho phép bạn giải phóng không gian đĩa có giá trị và bắt đầu mới.
Lời cuối cùng
Như bạn có thể thấy, việc xóa hình ảnh và vùng chứa Docker không quá khó khăn. Giờ bạn đã biết các lệnh này, bạn có thể kiểm soát nhiều hơn trải nghiệm Docker của mình.
Tất nhiên, đây chỉ là một số lệnh và bạn có thể sử dụng nhiều cách kết hợp khác. Tuy nhiên, những điều này sẽ hoạt động tốt, vì vậy hãy thoải mái thử chúng.