Docker có cho phép các container là hệ điều hành bất khả tri không?


9

Chúng tôi hiện đang sử dụng máy chủ chạy Windows để lưu trữ 2 VM. Một VM sử dụng Windows với ứng dụng Windows và VM còn lại sử dụng Linux với ứng dụng Linux.

Là kịch bản dưới đây có thể?

Máy chủ trống với Windows 2016 (không có VM). Cài đặt công cụ Docker. Cài đặt bộ chứa ứng dụng Windows. Cài đặt bộ chứa ứng dụng Linux.

Công cụ Docker có trừu tượng hóa hệ điều hành sao cho cấu hình này sẽ chạy cả hai ứng dụng? Có nghĩa là công cụ Docker hoạt động như một "trình thông dịch" giống như cách mã Java có thể chạy trên các hệ điều hành khác nhau?


1
Chi tiết ở đây , chủ yếu là bạn cần một máy ảo linux để chạy các thùng chứa linux chỉ để cung cấp một nhân linux ... các thùng chứa docker là các quy trình riêng biệt, vì vậy chúng cần một máy chủ lưu trữ, linuxkit chỉ được tích hợp trong lệnh chạy docker để dễ dàng sử dụng.
Tensibai

Đây không phải là một câu trả lời?
Dan Cornilescu

2
@Dan hiện tại hội nghị đầu bếp, tôi hơi ngắn để viết một câu trả lời chính xác :) vì vậy tôi chỉ cần bỏ một nhận xét
Tensibai

Không chắc chắn ứng dụng Windows của bạn đang làm gì, nhưng bạn cũng có thể xem xét chuyển sang chấm lõi vì nó đa nền tảng. Bằng cách đó bạn có thể chạy mọi thứ trên Linux.
frennky

Câu trả lời:


7

Công cụ Docker có trừu tượng hóa hệ điều hành sao cho cấu hình này sẽ chạy cả hai ứng dụng?

Không nó không. Docker sử dụng containerisation như một công nghệ cốt lõi, dựa trên khái niệm chia sẻ kernel giữa các container. Nếu một hình ảnh Docker dựa trên nhân Windows và một hình ảnh khác dựa trên nhân Linux, bạn không thể chạy hai hình ảnh đó trên cùng một hệ điều hành.

Khi bạn cài đặt Linux Docker trên Windows, bạn thực sự đang thiết lập máy ảo Linux trong Hyper-V, chi tiết LinuxKit có ở đây . Bạn có thể mở bảng điều khiển Hyper-V và thấy một VM có tên "MobyLinuxVM". Có rất nhiều công việc được thực hiện để trừu tượng hóa điều này khỏi bạn, ví dụ như dockernhị phân có thể kết nối với Linux VM và chạy các lệnh giống như bạn đã sử dụng, kết nối giữa máy chủ và VM cố gắng liền mạch, gắn kết âm lượng, v.v ... Cuối cùng, đó là không phải Docker cho phép bạn chạy hình ảnh Docker Linux trên Windows, đó chỉ là ảo hóa cũ.


2

Vâng, bạn có thể chạy bất cứ thứ gì bạn muốn trong container miễn là máy chủ hỗ trợ ảo hóa và có thể chạy nhị phân docker!


Tôi vẫn nghĩ rằng có một số chi tiết để chạy các thùng chứa Windows / Linux, hay?
Peter Muryshkin

Tôi nghĩ bạn cũng cần LinuxKit nhưng cuối cùng bạn cũng có chức năng tương tự có trên Linux
Briansbum
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.