Ưu và nhược điểm của việc sử dụng bộ chứa Windows thay vì bộ chứa Linux cho Docker?


36

Tôi đang cài đặt Docker cho Windows (CE) trên Windows 10 và màn hình đầu tiên hỏi tôi:

[] Sử dụng bộ chứa Windows thay vì bộ chứa Linux (có thể thay đổi sau khi cài đặt)

Đây có vẻ là một quyết định quan trọng, tuy nhiên tài liệu Docker , FAQhướng dẫn về bộ chứa Windows không cung cấp thông tin về lý do tại sao tôi có thể chọn cái này hơn cái kia.

Sẽ rất hữu ích khi có một cái nhìn tổng quan khách quan về sự phân nhánh của lựa chọn này:

  • Liệu một lựa chọn sẽ nhanh hơn cái kia?
  • Liệu quyết định có ảnh hưởng đến việc sử dụng tài nguyên hệ thống (RAM, CPU) không?
  • Tôi có thể chạy các hình ảnh giống nhau trên cả hai loại không?
  • Là cái này an toàn hơn cái kia?

Bất kỳ sự phân biệt nào khác có thể giúp tôi đi đến kết luận sẽ rất được hoan nghênh.


Câu trả lời cho điều này không dựa trên ý kiến. Và nó được chấp nhận. Vì vậy, không cần phải đóng cái này.
Nils

Câu trả lời:


19

Bạn phải sử dụng máy chủ windows cho các bộ chứa windows, tuy nhiên bạn có thể sử dụng máy chủ Linux hoặc máy chủ Windows cho bộ chứa Linux. Kể từ tháng 4 năm 2018, bạn thậm chí có thể chạy cả hai song song .

Liệu một lựa chọn sẽ nhanh hơn cái kia?

Số nhanh hơn ở cái gì?

Liệu quyết định có ảnh hưởng đến việc sử dụng tài nguyên hệ thống (RAM, CPU) không?

Windows sử dụng nhiều tài nguyên hơn Linux - Windows Nano nhỏ như nó có

Tôi có thể chạy các hình ảnh giống nhau trên cả hai loại không?

Không. Bạn có thể chạy các ứng dụng .NET trong các thùng chứa đơn sắc nhưng bạn không thể khởi động một cửa sổ chứa trên máy chủ Linux và ngược lại - nó không giống như ảo hóa

Là cái này an toàn hơn cái kia?

Một lần nữa - an toàn hơn ở những gì? Không. Cả hai đều chạy Docker gốc nên không có gì giống như hyper-v vs VMware và giống Linux hơn Windows, vì vậy tất cả phụ thuộc vào những gì bạn sẽ chạy .net, python, java, ruby, v.v.


2
Thứ hai này. Việc đọc bổ sung câu trả lời này containerjournal.com/2016/10/11/iêu
A.Newgate

4
Vì vậy, nếu tôi chọn sử dụng các thùng chứa Linux, Docker sẽ kích hoạt máy ảo Hyper-V Linux để chạy các thùng chứa của tôi, nếu không nó sẽ chạy các thùng chứa Windows nguyên bản? Và tôi không thể chạy đồng thời cả hai loại container?
Duncan Jones

1
Docker cho windows 10 cho phép bạn làm điều này - nhưng trong sản xuất, bạn sẽ có một docker với các máy chủ Linux và Windows
Sum1sAdmin

Docker dựa trên lxc (Linux) - nó sẽ sử dụng cùng kernel với Docker-host. Nếu bạn khởi động windows trong lxc, nó phải ảo hóa hoặc giả lập win. Không chắc chắn nếu áp dụng tương tự cho win-docker, vì win hỗ trợ linux.
Nils

1
@DuncanJones, chỉ 3 ngày sau khi bạn hỏi có một bài đăng trên blog về MSDN giải thích rằng bây giờ bạn CÓ THỂ chạy song song các bộ chứa Windows và Linux.
Jonas Heidelberg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.