Làm cách nào để khắc phục Docker không còn dung lượng trên thiết bị?

How Do I Fix Docker No Space Left Device



Để sử dụng thành công trình điều khiển lưu trữ, trước tiên bạn phải hiểu cách Docker tạo và lưu hình ảnh cũng như cách vùng chứa sử dụng những hình ảnh này. Bạn có thể sử dụng dữ liệu này để đưa ra quyết định sáng suốt về việc gửi dữ liệu từ các ứng dụng của mình trong khi tránh các vấn đề về hiệu suất. Trình điều khiển bộ nhớ cho phép bạn ghi dữ liệu vào lớp có thể ghi của vùng chứa. Sau khi vùng chứa bị phá hủy, các tệp sẽ không được lưu và tốc độ đọc và ghi chậm hơn so với hiệu suất của ứng dụng tệp gốc. Bạn có thể muốn dọn dẹp ổ cứng của hệ thống để tải xuống và chạy hình ảnh Docker. Tuy nhiên, nếu không có đủ dung lượng trên ổ cứng, bạn có thể gặp lỗi: không còn dung lượng trên thiết bị. Khi máy chủ của bạn bị tắc bởi các tệp rác, nó có thể ảnh hưởng đến việc làm chậm PC. Bạn sẽ cần lấy lại một lượng không gian cụ thể để sửa chữa nó. Công cụ chứa đám mây Dot yêu cầu tập lệnh tương đối đơn giản để xóa bộ nhớ. Sự cố này thường chỉ ra rằng Docker sắp hết dung lượng. / var / lib / docker là nơi nó lưu trữ dữ liệu của nó. Thư mục đó phải có đủ dung lượng trống trên bất kỳ hệ thống tệp nào mà nó được gắn vào. Trong hướng dẫn này, bạn sẽ tìm hiểu các phương pháp khác nhau để sửa lỗi Docker không còn dung lượng trên thiết bị.

Điều kiện tiên quyết

Để sửa lỗi Docker không còn dung lượng trên thiết bị, bạn phải sử dụng hệ thống Linux Ubuntu 20.04 và cài đặt docker trong đó. Nếu Docker chưa được cài đặt, bạn có thể thực hiện với sự trợ giúp của lệnh được liệt kê bên dưới trong terminal







$sudođúng cáchTải vềdocker.io

Phương pháp sửa lỗi Docker không còn dung lượng trên thiết bị

Bạn phải đăng nhập thông qua người dùng sudo và mở thiết bị đầu cuối dòng lệnh bằng cách kiểm tra nó trong khu vực ứng dụng của hệ điều hành của bạn hoặc sử dụng phím tắt Ctrl + Alt + T. Sau khi mở, hãy làm theo tất cả các phương pháp được mô tả trong bài viết này.



Phương pháp 1: Docker System Prune

Lệnh ‘docker system trimne đang được sử dụng để loại bỏ hoặc xóa các đối tượng hoặc dữ liệu chưa được sử dụng, bao gồm hình ảnh, vùng chứa, khối lượng và mạng. Những đối tượng này không bị xóa trừ khi chúng ta loại bỏ chúng một cách có ý thức; ngay cả như vậy, trong docker 17.06.1 trở lên, chúng tôi phải yêu cầu khả năng ‘–volumes’ để xóa khối lượng. Nó loại bỏ cả hình ảnh treo lơ lửng và không được tham chiếu; tuy nhiên, chỉ theo mặc định là các hình ảnh lủng lẳng bị loại bỏ. Chỉ có thể sử dụng 'sơ lược hệ thống docker' với phiên bản API ứng dụng khách và daemon từ 1.25 trở lên. Bây giờ thực hiện lệnh được liệt kê:



$sudohệ thống dockertỉa cành





Bạn phải cung cấp mật khẩu người dùng sudo của mình để thực thi thành công. Khi thực hiện, bạn sẽ nhận được cảnh báo sau, như được hiển thị trong hình ảnh đính kèm. Bạn phải nhập y để tiếp tục quá trình. Khi chúng tôi triển khai lệnh ‘docker system trimne, nó sẽ gửi một yêu cầu API đến Docker daemon, trình nền này sẽ tìm kiếm tất cả các mục không sử dụng trên máy chủ và xóa chúng khỏi hệ thống. Vì các phiên bản trước của Docker đã loại bỏ tất cả các đối tượng, bao gồm cả khối lượng, nên tùy chọn ‘–volumes’ đã được thêm vào.

Phương pháp 2: Loại bỏ hình ảnh nguy hiểm

Lệnh volume trong Docker có thể được sử dụng để thực hiện điều này. Vì thao tác này sẽ xóa mọi thư mục hoặc thư mục trong / var / lib / docker / volume không phải là ổ đĩa, bạn phải đảm bảo rằng không có tài liệu quan trọng nào được lưu ở đó. Khi tạo một hình ảnh Docker, thường có nhiều lớp hình ảnh. Các lớp không có tham chiếu đến bất kỳ hình ảnh được gắn thẻ nào được gọi là hình ảnh treo lơ lửng. Hình ảnh nguy hiểm chiếm dung lượng lưu trữ nhưng không làm gì cả. Để xem danh sách tất cả các tập, hãy sử dụng lệnh:



$sudokhối lượng dockerls

Sử dụng lệnh sau để nhận danh sách tất cả các ổ đĩa đang treo:

$sudokhối lượng dockerls–Qflủng lẳng=thật

Bạn phải cung cấp mật khẩu người dùng sudo của mình để thực thi thành công.

Phương pháp 3: Loại bỏ khối lượng mồ côi

Để bắt đầu, bạn sẽ cần phải xóa mọi ổ đĩa mồ côi trong Docker. Bây giờ để loại bỏ tất cả các ổ đĩa mồ côi, hãy thực hiện lệnh sau:

$khối lượng dockerrm

Phần kết luận:

Trong hướng dẫn này, chúng tôi đã thảo luận một số phương pháp để loại bỏ lỗi Docker không còn khoảng trống trên thiết bị. Bây giờ, tôi tin rằng bạn có thể dễ dàng giải quyết vấn đề này khi kết thúc bằng cách làm theo hướng dẫn này.