
Windows 11 hiện có thể tự xây dựng, chạy và quản lý các bộ chứa Linux mà không cần Docker Desktop ở chế độ nền. Microsoft gọi đây là Bộ chứa WSL và sau khi cài đặt bản xem trước cũng như chạy một số khối lượng công việc thực sự thông qua nó, đây là những gì hoạt động, những gì vẫn cần Docker và cách để nó chạy trên PC của riêng bạn.
Không nên nhầm lẫn WSL Container với phiên bản tiếp theo của WSL 2, vì chúng tôi đã đề cập đến cách Microsoft dập tắt những tin đồn về WSL 3. Hiện tại, nó đã được cung cấp dưới dạng bản xem trước công khai, vì vậy chúng tôi đã cài đặt nó, xây dựng hình ảnh vùng chứa tùy chỉnh từ đầu và đẩy nó qua một số quy trình công việc để xem nó hoạt động ở đâu.

Vùng chứa WSL trong Windows 11 là gì
Bộ chứa WSL là một tính năng tích hợp của Hệ thống con Windows dành cho Linux, cho phép bạn tạo, chạy và quản lý các bộ chứa Linux trực tiếp từ Windows mà không cần cài đặt Docker Desktop, Podman Desktop hoặc bất kỳ thời gian chạy nào khác của bên thứ ba. Nó được vận chuyển thành hai phần:
- Đầu tiên là wslc.exemột công cụ dòng lệnh được thêm vào PATH của bạn ngay khi bạn cập nhật WSL. Microsoft cũng gửi một bí danh có tên container.exe, vì vậy cả hai lệnh đều trỏ đến cùng một tệp nhị phân. Bất kỳ ai đã sử dụng Docker trước đây sẽ nhận ra cú pháp, vì các lệnh như wslc run, wslc build và wslc container list trông giống như cấu trúc riêng của Docker gần như một đối một.
- Phần thứ hai là một API vùng chứa WSLđược phân phối dưới dạng gói NuGet có hỗ trợ C, C++ và C#. Các nhà phát triển ứng dụng Windows có thể sử dụng nó để nhúng trực tiếp các thùng chứa Linux vào ứng dụng của riêng họ.
Thay vì yêu cầu người dùng cài đặt một thời gian chạy riêng, một ứng dụng Windows có thể lặng lẽ khởi động một thùng chứa Linux ở chế độ nền để chạy một đoạn mã chỉ dành cho Linux, sau đó phá bỏ nó khi tác vụ kết thúc. Microsoft đã trình diễn điều này với ánh trăngmột công cụ kết xuất Linux mã nguồn mở được sử dụng trong các bộ phim như The Wild Robot, chạy bên trong một tệp thực thi Windows mà không có dấu hiệu rõ ràng nào cho thấy Linux có liên quan.

Chạy Moonray trong WSL Container
Đầu ra kết xuất Moonray
Mọi ứng dụng Windows sử dụng API đều có máy ảo được hỗ trợ Hyper-V riêng, tách biệt với vùng chứa của mọi ứng dụng khác. Luồng CLI cũng có VM riêng. Tuy nhiên, Docker Desktop chạy mọi vùng chứa bên trong một máy ảo dùng chung, điều này hiệu quả hơn như bạn mong đợi.
Bộ chứa WSL đánh đổi một số hiệu quả tài nguyên để lấy ranh giới cách ly cứng giữa các ứng dụng, điều này giải thích tại sao Microsoft lại quảng cáo tính năng này là sẵn sàng cho doanh nghiệp.
Điều đó có nghĩa là cả hai điểm vào đều giao tiếp với cùng một dịch vụ WSL vốn đã quản lý các bản phân phối thông thường của bạn và bên trong máy ảo Linux, thời gian chạy vùng chứa thực hiện công việc thực sự là Moby, công cụ nguồn mở cũng hỗ trợ Docker. Lưu ý rằng Bộ chứa WSL không phát minh lại các bộ chứa. Thay vào đó, nó mang lại cho Windows một cửa trước của bên thứ nhất đối với họ.
Cách cài đặt WSL Container trên Windows 11
WSL Container hiện chỉ vận chuyển trong kênh phát hành trước của WSL, vì vậy bạn sẽ cần chọn tham gia kênh đó trước khi wslc hiển thị trên PC của bạn.
- Mở Windows Terminal hoặc PowerShell với tư cách quản trị viên.
- Chạy wsl –update –pre-phát hành và để nó tải xong.

- Khởi động lại WSL với wsl –tắt máy lệnh, sau đó đóng và mở lại thiết bị đầu cuối của bạn.

- Xác nhận cài đặt với wslc –version. Bạn sẽ thấy số phiên bản 2.9.3.0 xác nhận rằng WSL Container đã được cài đặt.

- Chạy wslc –help để xem tham chiếu lệnh đầy đủ và xác nhận tệp nhị phân đang hoạt động.

Trong máy thử nghiệm của chúng tôi, quá trình cập nhật mất chưa đầy hai phút qua kết nối tốt. Nếu wslc không được nhận dạng ngay sau khi cập nhật, hãy khởi động lại thiết bị đầu cuối của bạn và nếu điều đó không giúp ích, hãy khởi động lại PC. Vì nó nằm trong kênh phát hành trước nên có thể có một số khó khăn, vì một số nhà phát triển trên blog phát triển của chính Microsoft đã báo cáo một Lỗi nghiêm trọng, Mã lỗi: E_UNEXPECTED khi chạy container đầu tiên của họ. May mắn thay, chúng tôi đã không gặp phải vấn đề này.
Trong trường hợp bạn thắc mắc, bạn không cần PC Copilot+ để thử điều này vì WSL Container vận chuyển dưới dạng thành phần WSL đơn giản, nhưng mô hình cách ly được hỗ trợ Hyper-V cần sự hỗ trợ của ảo hóa hiện đại, do đó, CPU gần đây có tính năng ảo hóa được kích hoạt trong BIOS hoặc UEFI ở đây sẽ được tính nhiều hơn so với bản phân phối WSL thông thường.
Xây dựng và chạy vùng chứa với wslc
Sau khi wslc hoạt động, chúng tôi đã bỏ qua ví dụ hello-world cơ bản mà mọi người khác đang chạy và chuyển thẳng sang một thứ gần với mục đích sử dụng thực tế hơn, xây dựng hình ảnh tùy chỉnh từ Containerfile và hiển thị dịch vụ đang hoạt động từ đó.

Đầu tiên, kiểm tra vệ sinh nhanh chóng. Chúng tôi đã kéo và chạy vùng chứa Debian một cách tương tác:
wslc run -it debian:mới nhất


Bên trong container, đang chạy tên -a trả về một chuỗi nhân Linux được gắn với WSL2, xác nhận rằng chúng tôi đang ở trong môi trường Linux thực thay vì một lớp dịch thuật nào đó.

Việc tách bằng Ctrl+P, Ctrl+Q và chạy wslc ps -a đã liệt kê vùng chứa theo tên được tạo tự động (mossy_sawtooth), cùng với thời gian nó bắt đầu và trạng thái hiện tại của nó.

Việc gắn lại bằng wslc đính kèm rêu_sawtooth đã đưa chúng ta trở lại cùng một lớp vỏ.

Tiếp theo, chúng tôi đã viết một Containerfile, hoạt động giống như cách Dockerfile thực hiện, để đóng gói một tiện ích kiểm tra Linux nhỏ chạy tệp, Exiftool và binutils đối với bất kỳ thứ gì được đưa vào đó.

Đây đại khái là tập tin đó trông như thế nào:
TỪ trăn: 3.12-slim
CHẠY bản cập nhật apt-get && \
cài đặt apt-get -y –no-install-recommends \
tập tin Exiftool binutils bsdmainutils coreutils && \
rm -rf /var/lib/apt/lists/*
WORKDIR/ứng dụng
SAO CHÉP yêu cầu.txt.
CHẠY cài đặt pip –no-cache-dir -r require.txt
SAO CHÉP ứng dụng.py .
TIẾP XÚC 5000
CMD [“python”, “app.py”]
Xây dựng nó là một lệnh:
wslc build -t my-linux-inspector .

Bản dựng đã lưu vào bộ đệm các lớp cơ sở của nó, do đó quá trình xây dựng lại hoàn tất sau vài giây thay vì vài phút. Đang chạy hình ảnh wslc ls đã xác nhận hình ảnh tồn tại cục bộ với dấu thời gian mới.

Từ đó, chúng tôi bắt đầu vùng chứa với ánh xạ cổng để có thể truy cập máy chủ Flask chạy bên trong Linux từ Windows:
wslc run -d -p 5000:5000 –tên thanh tra my-linux-inspector
Đang tải 127.0.0.1:5000 trong trình duyệt bên Windows sẽ hiển thị giao diện web của công cụ mà không cần bất kỳ thiết lập mạng bổ sung nào.

Một dịch vụ chạy trên nhân Linux, có thể truy cập thông qua localhost trên Windows, không cài đặt phần mềm của bên thứ ba, tóm tắt WSL Container trong một câu.
Kiểm tra quyền truy cập GPU bên trong vùng chứa WSL
Truyền qua GPU là tính năng mà hầu hết các nhà phát triển thực hiện công việc AI hoặc máy học sẽ quan tâm nhất, vì nó quyết định liệu bộ chứa Linux có thể tiếp cận card đồ họa hay không thay vì chỉ chạy trên CPU. WSL Container hỗ trợ điều này thông qua một --gpus all flag, cú pháp tương tự mà người dùng Docker đã biết:
wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime \
python -c "import torch; print(torch.cuda.is_available())"
Đoạn clip bên dưới cho thấy điều này đang diễn ra, một thùng chứa tiếp cận trực tiếp GPU, sau đó chạy đua mô hình PyTorch đã biên dịch với mô hình tương tự đang chạy ở chế độ háo hức đơn giản. Khoảng cách giữa hai người không hề nhỏ.
Bộ chứa WSL cho môi trường doanh nghiệp
Microsoft đang giới thiệu WSL Container là sẵn sàng cho doanh nghiệp ngay từ giai đoạn xem trước.
Plugin WSL hiện tại của Microsoft Defender cho Endpoint hiện hiểu được các sự kiện vùng chứa, do đó, các nhóm bảo mật giám sát bản phân phối WSL có được khả năng hiển thị tương tự đối với các vùng chứa mà không cần triển khai công cụ riêng biệt, mặc dù tính năng này hiện bị giới hạn ở bản xem trước riêng tư với biểu mẫu đăng ký riêng.

Quản trị viên CNTT hiện có thể kiểm soát WSL Container thông qua Chính sách nhóm và chính sách ADMX, với hai khả năng quan trọng nhất trong nhóm được quản lý:
- Đầu tiên, quản trị viên có thể quyết định xem mọi người trong tổ chức của họ có được phép sử dụng bản phân phối, bộ chứa WSL hay cả hai hay không.
- Thứ hai, và đây là điều mà Microsoft cho biết thường xuyên xuất hiện trong các yêu cầu của khách hàng, quản trị viên có thể đặt danh sách cho phép trong đó các cơ quan đăng ký vùng chứa được phép, để công ty có thể hạn chế việc kéo vào cơ quan đăng ký nội bộ hoặc được phê duyệt thay vì để Docker Hub mở rộng.
Chúng tôi mong đợi sự hỗ trợ đầy đủ về bảng điều khiển Intune cho những cài đặt này trong vòng vài tuần kể từ khi bản xem trước được gửi đi.
Tiện ích mở rộng Dev Containers của VS Code cũng đã nhận được hỗ trợ wslc bắt đầu từ phiên bản tiền phát hành 0.462.0. Chuyển sang nó chỉ có nghĩa là mở cài đặt Dev Container, tìm trường Đường dẫn Docker và thay đổi nó thành wslc, không cần cài đặt lại tiện ích mở rộng hoặc cấu hình lại dự án.
Những gì vẫn còn thiếu trong WSL Container
WSL Container không cung cấp bất kỳ thứ gì tương tự như Docker Compose ở giai đoạn này, vì vậy, các dự án đa dịch vụ sử dụng tệp soạn thảo.yaml để hiển thị cơ sở dữ liệu, chương trình phụ trợ và bộ nhớ đệm cùng nhau vẫn chưa phù hợp. Mỗi thùng chứa mà chúng tôi thử nghiệm đều phải được khởi động riêng lẻ.

Và tất nhiên, thiếu sót lớn nhất là cũng không có bảng điều khiển GUI hoặc bất cứ thứ gì như Docker Scout để quét hình ảnh. Ngoài ra, hệ sinh thái plugin mở rộng mà Docker Desktop đã xây dựng trong nhiều năm không tồn tại ở đây. WSL Container không nhằm mục đích thay thế Docker Desktop, Podman Desktop hoặc Rancher Desktop và cả ba công cụ đó đều được hưởng lợi từ cùng một nền tảng cấp thấp hoạt động, bao gồm cả hệ thống tệp virtiofs mới mà Microsoft cho biết giúp truy cập tệp Windows nhanh gấp đôi bên trong các thùng chứa.
Kết nối mạng cũng đã được làm lại với chế độ thử nghiệm có tên Consomme, chế độ này chuyển tiếp lưu lượng Linux thông qua ngăn xếp mạng Windows thay vì thiết lập NAT cũ hơn, nhằm mục đích khắc phục các sự cố tương thích VPN và proxy khiến người dùng WSL khó chịu trong nhiều năm. Cả virtiofs và Consomme hiện đều độc quyền cho WSL Container, mặc dù Microsoft cho biết họ muốn đưa chúng vào các bản phân phối WSL thông thường.
Bạn có nên chuyển từ Docker Desktop chưa
Đối với một vùng chứa duy nhất chạy cơ sở dữ liệu hoặc một dịch vụ nhỏ trong quá trình phát triển cục bộ, WSL Container đã thực hiện công việc mà không cần yêu cầu giấy phép riêng. Đối với mọi thứ cần tệp Compose, nhiều dịch vụ được liên kết hoặc hệ sinh thái tiện ích mở rộng của Docker, Docker Desktop vẫn là công cụ hoàn chỉnh hơn hiện nay.

Microsoft đang nhắm mục tiêu cung cấp rộng rãi WSL Container vào mùa thu năm 2026 và dựa trên mức độ chặt chẽ của cú pháp CLI đã theo dõi Docker, hầu hết những gì còn thiếu trông giống như vấn đề khi nào hơn là nếu.
Nếu bạn đã chạy khối lượng công việc bộ chứa Linux trên Windows, thì việc chạy bản dựng trước khi phát hành cùng với Docker Desktop sẽ không tốn kém gì và giúp Bộ chứa WSL có một khởi đầu thuận lợi trước khi nó trở thành lựa chọn mặc định.


