2015-01-06 23 views
15

Đế cắm giúp bạn dễ dàng dừng lại các hộp chứa khởi động lại &. Nó cũng có khả năng tạm dừng và sau đó bỏ tạm dừng các thùng chứa. Tài liệu Docker nhà nướcSử dụng tài nguyên bằng các thùng chứa Docker đã dừng

Khi thùng chứa được thoát, trạng thái của hệ thống tệp và giá trị thoát của nó được giữ nguyên. Bạn có thể bắt đầu, dừng và khởi động lại vùng chứa. Các quá trình khởi động lại từ đầu (trạng thái bộ nhớ của chúng không được bảo quản trong một thùng chứa), nhưng hệ thống tệp cũng giống như khi nó được dừng lại.

Tôi đã thử nghiệm điều này bằng cách settting lên một container với memcached chạy, đã viết một giá trị cho memcache và sau đó

  • Ngưng & sau đó khởi động lại container - giá trị memcached đã biến mất
  • Tạm dừng & sau đó đã bỏ tạm dừng vùng chứa - giá trị ghi nhớ vẫn còn nguyên vẹn

Một nơi nào đó trong tài liệu - Tôi không thể tìm thấy tài liệu chính xác nữa ment - Tôi đọc rằng các thùng chứa đã dừng không tiêu thụ CPU hoặc bộ nhớ. Tuy nhiên:

  • Tôi cho rằng trạng thái hệ thống tệp được giữ nguyên nghĩa là vùng chứa vẫn tiêu thụ một số không gian trên hệ thống tệp của máy chủ?
  • Có hiệu suất nào (ngoài mức tiêu thụ không gian đĩa lưu trữ) được kết hợp với 10 giây hoặc thậm chí 100 giây của các vùng chứa đã dừng trong hệ thống không? Ví dụ, nó làm cho nó khó khăn hơn cho Docker để khởi động và quản lý container mới?
  • Và cuối cùng, nếu các thùng chứa tạm dừng giữ trạng thái bộ nhớ của chúng khi không được chú ý - như được chứng minh bằng khả năng ghi nhớ các phím ghi nhớ - chúng có tác động khác trên CPU và bộ nhớ không?

Tôi có nghĩa vụ nhất đối với bất kỳ ai có thể làm rõ những vấn đề này.

+0

Câu hỏi hay, tôi cũng muốn biết. Docker sử dụng cgroups tủ đông để các tài liệu có nên giúp đỡ nếu bạn sẵn sàng để đặt trong thời gian để hiểu chúng. –

Trả lời

12

Tôi không phải là chuyên gia về cốt lõi của docker nhưng tôi sẽ cố gắng trả lời một số câu hỏi này.

  1. Tôi cho rằng thực tế là tình trạng hệ thống tập tin được bảo tồn có nghĩa là container vẫn tiêu thụ một số không gian trong hồ sơ hệ thống của máy chủ?

Có. Docker lưu tất cả dữ liệu vùng chứa và hình ảnh trong /var/lib/docker. Cách mặc định để lưu dữ liệu vùng chứa và hình ảnh đang sử dụng aufs. Dữ liệu của mỗi lớp được lưu dưới . Khi một vùng chứa mới được tạo, một lớp mới cũng được tạo bằng thư mục và có những thay đổi từ các lớp của hình ảnh nguồn được lưu trữ.

  1. Có một buổi biểu diễn hit (trừ tiêu thụ chủ không gian đĩa) gắn liền với việc có 10s, hoặc thậm chí 100, trong ngừng container trong hệ thống? Ví dụ, nó làm cho nó khó khăn hơn cho Docker để khởi động và quản lý các container mới?

Theo như tôi biết, nó không phải là bất kỳ hit nào. Khi bạn ngừng một container, Docker daemon gửi SIGTERM và SIGKILL cho tất cả các quá trình của container đó, như mô tả trong docker CLI documentation:

Cách sử dụng: Docker dừng [OPTIONS] CONTAINER [CONTAINER ...]

Dừng một thùng chứa đang hoạt động bằng cách gửi SIGTERM và sau đó SIGKILL sau một thời gian ân hạn

-t, --time = 10 Số giây để chờ container đến dừng trước khi giết nó. Mặc định là 10 giây.


3.And cuối cùng, nếu container tạm dừng giữ lại trạng thái bộ nhớ của họ khi bị tạm dừng - như chứng minh bằng khả năng của mình để nhớ memcached phím - họ có một tác động khác nhau trên CPU và bộ nhớ?

Như @Usman cho biết, đế cắm thực hiện tạm dừng/bỏ tạm dừng bằng cách sử dụng tủ đông cgroup. Nếu tôi không sai, khi bạn đặt một quá trình trong tủ đông (hoặc nhóm của nó), bạn chặn việc thực hiện nhiệm vụ mới của tiến trình đó từ trình lập lịch tác vụ hạt nhân (tức là: nó dừng quá trình), nhưng bạn không giết chúng và chúng tiếp tục tiêu thụ bộ nhớ chúng đang sử dụng (mặc dù hạt nhân có thể di chuyển bộ nhớ đó để hoán đổi hoặc sang đĩa cứng). Và các tài nguyên CPU được sử dụng bởi một thùng chứa bị tạm dừng, tôi sẽ xem xét không đáng kể. Để biết thêm thông tin về điều này, tôi sẽ kiểm tra yêu cầu kéo của tính năng này, Docker issue #5948

+0

cảm ơn bạn vì một câu trả lời rất thuyết phục và toàn diện. Tôi sẽ để chủ đề này mở thêm một hoặc hai ngày nữa và chấp nhận câu trả lời của bạn. – DroidOS

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