2017-01-20 26 views
28

Trong Docker 1.13 thông số --squash mới được thêm vào.Công cụ Docker --squash mới hoạt động như thế nào

Tôi hiện đang hy vọng giảm kích thước hình ảnh của mình cũng như có thể "ẩn" các tệp bí mật mà tôi có trong các lớp của mình.

Dưới đây bạn có thể thấy sự khác biệt khi thực hiện một bản dựng có và không có tham số --squash.

Without Squash

enter image description here

Với Squash

enter image description here

Bây giờ câu hỏi của tôi.

Nếu tôi thêm một tập tin bí mật trong lớp đầu tiên của tôi, sau đó sử dụng các tập tin bí mật thứ hai lớp của tôi , và cuối cùng loại bỏ tập tin bí mật của tôi trong lớp thứ ba, và sau đó xây dựng với - -squash flag.

Sẽ có bất kỳ cách nào ngay bây giờ để nhận tệp bí mật không?

Trả lời

37

Nếu tôi thêm một tập tin bí mật trong lớp đầu tiên của tôi, sau đó sử dụng các tập tin bí mật trong lớp thứ hai của tôi, và cuối cùng loại bỏ tập tin bí mật của tôi trong lớp thứ ba , và sau đó xây dựng với cờ --squash .

Có cách nào để nhận tệp bí mật không?

Trả lời: Hình ảnh của bạnsẽ không có tập tin bí mật.

Làm thế nào --squash công trình:

Khi xây dựng xong, Docker tạo ra một hình ảnh mới tải diffs từ mỗi lớp vào một layer mới đơn và tài liệu tham khảo tất cả các lớp của cha mẹ.

Nói cách khác: khi đổ, Docker sẽ lấy tất cả các lớp hệ thống tệp được tạo bởi một bản dựng và thu gọn chúng thành một lớp mới.

Điều này có thể đơn giản hóa quá trình tạo hình ảnh vùng chứa tối thiểu, nhưng có thể dẫn đến chi phí cao hơn một chút khi hình ảnh được di chuyển xung quanh (vì không thể chia sẻ các lớp bị đè nén giữa các hình ảnh). Docker vẫn lưu trữ các lớp riêng lẻ để tạo các bản dựng tiếp theo nhanh chóng.

Xin lưu ý tính năng này làm đổ tất cả các lớp mới được tạo thành một lớp duy nhất, nó không bị đổ vỡ.

ghi chú

Side:

Docker 1.13 cũng hỗ trợ nén bối cảnh xây dựng được gửi từ CLI tới daemon bằng cờ --compress. Điều này sẽ tăng tốc độ xây dựng được thực hiện trên daemon từ xa bằng cách giảm lượng dữ liệu được gửi.

Xin lưu ý là Docker 1.13 tính năng này là thử nghiệm.

Các vấn đề liên quan