2016-08-28 55 views
5

Tôi có vùng chứa docker thực hiện rất nhiều việc đọc/ghi vào đĩa. Tôi muốn kiểm tra những gì xảy ra khi toàn bộ hệ thống tập tin docker của tôi nằm trong bộ nhớ. Tôi đã thấy một số câu trả lời ở đây nói rằng nó sẽ không phải là một cải tiến hiệu suất thực sự, nhưng đây là để thử nghiệm.Docker: trong hệ thống tệp bộ nhớ

Giải pháp lý tưởng mà tôi muốn kiểm tra là chia sẻ các phần chung của mỗi hình ảnh và sao chép vào không gian bộ nhớ của bạn khi cần.

Mỗi tệp vùng chứa được tạo trong thời gian chạy cũng phải nằm trong bộ nhớ và được phân tách. nó không được nhiều hơn 5 GB fs trong thời gian nhàn rỗi và lên đến 7GB trong thời gian xử lý.

Các giải pháp đơn giản sẽ sao chép tất cả các tệp được chia sẻ (ngay cả những phần của hệ điều hành bạn không bao giờ sử dụng) cho mỗi vùng chứa.

Trả lời

5

Không có sự khác biệt giữa lưu trữ hình ảnh và hệ thống tệp cơ sở của vùng chứa, lớp FS truy cập trực tiếp lớp hình ảnh dưới dạng lớp RO, với vùng chứa sử dụng lớp RW ở trên để nắm bắt bất kỳ thay đổi nào. Vì vậy, mục tiêu của bạn có container chạy trong bộ nhớ trong khi cài đặt Docker vẫn còn trên đĩa không có một thực hiện dễ dàng.

Nếu bạn biết hoạt động RW của bạn đang ở đâu (khá dễ dàng để kiểm tra docker diff của thùng chứa đang hoạt động), tùy chọn tốt nhất với tôi sẽ là một tmpfs được gắn tại vị trí đó trong vùng chứa của bạn. (từ số docker run reference):

$ docker run -d --tmpfs /run:rw,noexec,nosuid,size=65536k my_image 
+0

Hoàn hảo! Cảm ơn bạn đã đề cập đến 'docker diff' ✨ –

1

Trình lưu trữ Docker lưu trữ dữ liệu hình ảnh, vùng chứa và khối lượng trong thư mục của nó theo mặc định. Vùng chứa HD được tạo thành từ hình ảnh gốc và 'lớp chứa'.

Bạn có thể thiết lập điều này bằng cách sử dụng RAM disk. Bạn sẽ khó phân bổ một số RAM, gắn kết nó, và định dạng nó với hệ thống tập tin của bạn lựa chọn. Sau đó move your docker installation vào đĩa RAM gắn kết và liên kết tượng trưng trở lại vị trí ban đầu.

Setting up a Ram Disk

Best way to move the Docker directory

Rõ ràng đây chỉ là hữu ích để thử nghiệm như Docker và đó là hình ảnh, khối lượng, container, vv sẽ bị mất trên khởi động lại.

+0

Tôi muốn vùng chứa HD nằm trong bộ nhớ chứ không phải cài đặt đế cắm trên máy chủ. – qballer

+0

Docker lưu trữ dữ liệu hình ảnh, vùng chứa và khối lượng trong thư mục của nó theo mặc định. Vùng chứa HD được tạo thành từ hình ảnh gốc và 'lớp chứa'. https://docs.docker.com/engine/userguide/storagedriver/imagesandcontainers/ –

+0

Có lẽ tốt hơn để sử dụng điều này, nhưng tôi chưa thử: https://docs.docker.com/registry/storage-drivers/inmemory/Ngoài ra, Linux và các hệ điều hành khác đã tích hợp sẵn bộ nhớ đệm đĩa, do đó, việc truy cập đĩa của vùng chứa của bạn có thể không được chạm vào đĩa thực. – sudo

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