Ubuntu trên Windows 10: Docker vs WSL


11

Tôi hiểu rằng hiện tại có thể chạy Ubuntu trên Windows 10 theo hai cách khác nhau:

  1. Sử dụng Hệ thống con Windows cho Linux (WSL).
  2. Cài đặt docker cho Windows 10 và sử dụng bộ chứa với Ubuntu.

Tuy nhiên, tôi không thể tìm thấy một lời giải thích dễ hiểu về sự khác biệt giữa chúng (nói về các ứng dụng), cũng như các ưu điểm và nhược điểm.

Tôi tìm thấy một bài viết nói về việc sử dụng docker trên WSL: Ubuntu thông qua (Hệ thống con Windows Linux) và Docker . Nhưng tôi đang nói về việc sử dụng nó trực tiếp trên Windows 10. Vì vậy, tôi sẽ đánh giá cao bất kỳ thông tin nào về hai điều này.


Tôi không phải là chuyên gia trong bất kỳ ai trong số họ viết câu trả lời, nhưng phiếu bầu của tôi thuộc về Docker. Lý do là Docker ngụ ý ảo hóa, vì vậy mọi thứ chỉ nên hoạt động. WSL mặt khác là đầy lỗi. Nó hoạt động cho điểm chuẩn, vui vẻ, và chủ yếu là phát triển; nhưng nếu bạn sắp triển khai một cái gì đó nghiêm túc, thì đây không phải là lựa chọn của bạn, ít nhất là chưa.
Hi-Angel

Câu trả lời:


14

Đã cập nhật 2020/02/18 để phản ánh các thay đổi được giới thiệu trong WSL2

Chào! Microsoft PM làm việc trên WSL & Command Line tại đây.

WSL cho phép bạn chạy các nhị phân Linux ELF-64 nguyên gốc, chưa sửa đổi trực tiếp trên Windows và cho phép bạn chạy các công cụ Linux yêu thích của mình trên hệ điều hành "máy chủ" Windows của bạn.

WSL1 đã thực hiện một cách tiếp cận để thêm một lớp tương thích tòa nhà Linux ở đầu hạt nhân NT, cho phép các nhị phân Linux chạy trên đỉnh NT, chia sẻ cùng một hệ thống tệp, mạng, danh sách quy trình, v.v. như hệ điều hành máy chủ.

WSL2 sắp được phát hành, mặt khác, chạy các nhị phân của distro trong các thùng chứa Linux, trên một nhân Linux thực sự, bên trong một máy ảo nhẹ chỉ phân bổ RAM cần thiết cho các ứng dụng mà nó chạy và sau đó giải phóng RAM được giải phóng trở lại hệ điều hành máy chủ. Điều này cung cấp khả năng tương thích 100% với Linux và cho phép các công cụ Linux của bạn chạy với hiệu suất gần và tiêu thụ tài nguyên tối thiểu cần thiết từ máy chủ, đảm bảo máy của bạn chạy nhanh và mượt mà.

Trước WSL2, người ta có thể chạy ứng dụng khách Docker trong WSL1, sử dụng nó để điều khiển Docker cho Windows chạy trên Hyper-V trên máy chủ cục bộ hoặc để quản lý máy chủ Docker từ xa. Nhưng người ta không thể chạy Docker Engine trên WSL1 vì nhiều lý do kỹ thuật.

Tuy nhiên, bạn có thể làm tương tự trong Docker trên WSL2, nhưng bạn cũng có thể chạy Docker Engine trên đỉnh WSL nếu bạn thích. Đây là, đường dẫn ưa thích và tương lai của Docker để chạy Docker trên máy tính để bàn Windows .

Để tìm hiểu thêm về WSL, hãy xem lại video & tài liệu tại đây: https://aka.ms/learnwsl


Tôi nghĩ rằng câu trả lời này đề cập đến WSL, WSL 2 chạy kernel linux tùy chỉnh, giao diện với các cửa sổ. Tôi tin rằng kernel linux windows tùy chỉnh chạy trong VM.
Jordan Stewart

1
Nó đã làm. Chỉ cần đăng một bản cập nhật để phản ánh tốt hơn thực tế WSL2 của chúng tôi :)
Rich Turner

2

Đúng rồi. Một điều mà bạn không đề cập đến là WSL hiện tại khá chậm trong io ngay cả với ssd / rất nhiều ram / cpu xeon 8 lõi. Đây vẫn là một vấn đề trong tháng 01/2019. Tôi vừa thực hiện một tia @ DESKTOP-O0MT13B: / mnt / c / Users / rayjh $ dd if = / dev / zero of = test bs = 64k Count = 16k conv = fdatasync trên máy trạm của tôi với ổ SSD samsung và chỉ nhận được 97,6 MB /S.

Chạy kim loại trần ub Ubuntu LTS hộp này sẽ nhận được nhiều lần. Đừng bận tâm đến những vấn đề bất tận khi bạn cố gắng kết hợp WSL với VSCODE.

Tôi đang xóa windows 10 khỏi đây và cài đặt Ubuntu 18.04LTS.


Bạn không cần phải độc hại, đặc biệt là vào cuối. Thay vào đó, xin vui lòng cho chúng tôi biết bạn đã làm gì để nghiên cứu nguyên nhân của các vấn đề bạn gặp phải và liệu chúng có phải là vấn đề đã biết hay không và liệu có ai đó đang khắc phục chúng hay không. Tôi chắc chắn rằng họ là mặc dù. Và bạn không cần gỡ cài đặt windows, bạn chỉ cần cài đặt trình quản lý hyper-v và cài đặt nhanh Ubuntu và bạn đã thiết lập môi trường phát triển Linux nếu bạn muốn làm việc từ bên trong Máy tính để bàn Linux ảo. Nếu không, hãy tiếp tục sử dụng WSL và đợi các vấn đề của bạn được khắc phục. 97 MB / s không phải là chậm.
Paul-Sebastian Manole

AFAIK các vấn đề tốc độ có liên quan đến hệ thống con truy cập tệp Windows và một cách giải quyết đang được thực hiện.
Paul-Sebastian Manole

WSL vẫn có vẻ chậm. Nhưng nó có thời gian khởi động rất nhanh và cho phép sử dụng các công cụ cli linux phổ biến. Ánh xạ hệ thống tập tin linux và windows có vẻ phức tạp.
Jordan Stewart

Nó đã nhận được nhanh hơn rõ rệt. Tuy nhiên tôi đã thử sử dụng miniconda và cài đặt các gói và nó vẫn hơi chậm.
rayj
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.