Hướng dẫn đầy đủ về cách sử dụng Docker Desktop với WSL mà không gây xung đột

Cập nhật lần cuối: 25/08/2026
Tác giả: Cristian Garcia

  • Tích hợp trực tiếp các container Linux sử dụng nhân WSL 2 để tối ưu hóa hiệu năng CPU và bộ nhớ.
  • Cấu hình khả năng tương tác giữa giao diện dòng lệnh Docker trên Windows và các bản phân phối Linux đã cài đặt.
  • Quản lý nâng cao các phân vùng và đường dẫn tệp để ngăn ngừa lỗi gắn kết giữa hệ thống tệp NTFS và ext4.

Cách sử dụng Docker Desktop với WSL mà không gây xung đột

Làm thế nào để sử dụng Docker Desktop với WSL mà không xảy ra xung đột? Nếu bạn là một nhà phát triển làm việc trên Windows, có lẽ bạn đã biết rằng việc thiết lập môi trường Linux có thể rất khó khăn nếu không được thực hiện đúng cách. Sự xuất hiện của WSL 2 đã thay đổi luật chơi, cho phép chúng ta thực hiện một nhân Linux thực sự trong hệ điều hành của chúng ta mà không cần máy ảo chiếm dụng toàn bộ tài nguyên máy tính.

Vấn đề phát sinh khi chúng ta muốn sử dụng Docker. Cho dù bạn đang tìm kiếm sự tiện lợi của Docker Desktop hay thích cách tiếp cận trực tiếp hơn bằng cách cài đặt công cụ này trực tiếp trên bản phân phối, đều có những lựa chọn. có nhiều cách để đạt được điều đóTrong bài viết này, chúng ta sẽ phân tích tất cả các tùy chọn để giúp quy trình làm việc của bạn diễn ra suôn sẻ và tránh gặp phải các lỗi kết nối daemon gây khó chịu.

docker trong windows 10
Bài viết liên quan:
Cách cài đặt Docker trên Windows 10

Giải pháp nhanh chóng: Docker Desktop với hệ thống phụ trợ WSL 2

Cửa sổ dòng lệnh Ubuntu Linux hiển thị quá trình giám sát hệ thống và nhật ký, thể hiện môi trường WSL và Docker.

Đối với hầu hết mọi người, lựa chọn đơn giản nhất là cài đặt Docker Desktop và để nó thực hiện các tác vụ nặng nhọc. Khi cài đặt, điều quan trọng là phải chọn ô này. Khả năng tương thích với WSL 2Điều này thay thế kiến ​​trúc Hyper-V cũ bằng một kiến ​​trúc nhẹ hơn và nhanh hơn nhiều.

Nội dung độc quyền - Bấm vào đây  Cách mở tệp BRSTM

Sau khi cài đặt xong, chỉ cần nhấp vào "tiếp theo" là chưa đủ. Bạn cần vào phần cài đặt, sau đó nhập... Tài nguyên và sau đó tích hợp vào WSL.Đây là nơi điều kỳ diệu xảy ra: bạn cần kích hoạt công tắc cho bản phân phối cụ thể mà bạn đang sử dụng (như Ubuntu hoặc Debian). Điều này cho phép Docker Desktop tạo ra các bản phân phối nội bộ của riêng nó, được gọi là docker-desktop và docker-desktop-data, quản lý công cụ và dữ liệu một cách riêng biệt so với môi trường phát triển của bạn.

Lập trình viên làm việc với hai màn hình và cửa sổ terminal hiển thị, hình ảnh lý tưởng để minh họa cho bài viết về WSL và container trên Windows 11.
Bài viết liên quan:
Hướng dẫn cài đặt WSL Containers trên Windows 11

Giải pháp thay thế dành cho những người cầu toàn: Docker Engine mà không cần Docker Desktop.

Kỹ sư phần mềm tập trung làm việc với máy tính xách tay và màn hình ngoài trong một văn phòng hiện đại.

Một số người thích tránh sử dụng phần mềm của bên thứ ba và muốn tự cài đặt Docker. trực tiếp trong bản phân phối Linux của bạnĐể thực hiện việc này, trước tiên bạn phải đảm bảo rằng WSL 2 được đặt làm phiên bản mặc định bằng lệnh sau: wsl --set-default-version 2 và tính năng ảo hóa đã được bật trong BIOS của máy tính.

Quá trình này bao gồm việc thêm các kho lưu trữ Docker chính thức vào terminal Linux của bạn, cài đặt engine (docker-ce), CLI và plugin Compose. Một thủ thuật quan trọng ở đây là chạy lệnh sau: sudo usermod -aG docker $USER vậy nên bạn không cần phải viết mồ hôi Mỗi lần muốn nâng một thùng chứa, bạn đều phải làm việc đó, điều này khá phiền phức.

Máy tính xách tay với mã lập trình đặt trên bàn gỗ, thể hiện công việc phát triển phần mềm với WSL trên Windows 11.
Bài viết liên quan:
Cách mở các cổng container WSL trong Windows 11

Có gì mới với wslc.exe: Một cách thức mới để đóng gói container

Nó vừa mới xuất hiện wslc.exe, một công cụ dòng lệnh được tích hợp sẵn trong các phiên bản WSL mới nhất (cụ thể là từ phiên bản 2.9.3 trở lên). Tiện ích này cho phép biên dịch và chạy container Linux mà không cần cài đặt công cụ Docker bên ngoài, đơn giản hóa trải nghiệm cho những người chỉ cần thực hiện các tác vụ container cơ bản.

Nội dung độc quyền - Bấm vào đây  Hướng dẫn cách tạo sơ đồ kỹ thuật bằng Excalidraw

Để tận dụng điều này, bạn nên cập nhật WSL bằng lệnh sau: wsl --update --pre-release. Với wslc Bạn có thể làm điều đó từ một cách đơn giản. run hello-world cho đến khi tạo hình ảnh của riêng bạn Sử dụng Containerfile, tích hợp liền mạch với Visual Studio Code và tiện ích mở rộng WSL của nó để gỡ lỗi mã theo thời gian thực.

Khắc phục các xung đột và lỗi kết nối thường gặp

Rất thường xuyên gặp phải lỗi đáng sợ này. "Không thể kết nối với tiến trình nền Docker"Điều này thường xảy ra vì hai lý do: hoặc dịch vụ chưa khởi động, hoặc còn sót lại các bản cài đặt cũ gây nhầm lẫn cho giao diện dòng lệnh (CLI). Nếu bạn đang sử dụng WSL 1, tốt nhất nên thực hiện lệnh sau: vệ sinh sâu xóa các thư mục như /var/lib/docker và dọn dẹp các biến môi trường trong tệp của bạn. .bashrc.

Docker
Bài viết liên quan:
Cách truy cập tập tin trong vùng chứa Docker từ Windows

Một điểm quan trọng khác là quản lý dung lượng. Docker Desktop yêu cầu các đường dẫn như sau: /c/Users/...trong khi WSL sử dụng /mnt/c/Users/...Để giải quyết xung đột này, bạn có thể tạo một tệp. /etc/wsl.conf và cấu hình điểm gắn kết trên thư mục gốc (root = /), điều này sẽ giúp bạn Đường dẫn tệp tin tương thích và bạn không cần phải thực hiện các thao tác tạo liên kết tượng trưng thủ công gây nhiều rắc rối.

Nội dung độc quyền - Bấm vào đây  Khôi phục mật khẩu Windows 10 bị quên

Tối ưu hóa không gian và hiệu năng

Các container và hình ảnh có thể nhanh chóng làm đầy ổ cứng của bạn. Để ngăn phân vùng Windows bị đầy, bạn nên sử dụng lệnh này. wsl --manage <distro> --set-sparse trueđiều này cho phép Ổ đĩa ảo được phân tán và tự động giải phóng dung lượng.

Ngoài ra, để giữ cho hệ thống luôn sạch sẽ, hãy tập thói quen chạy máy. docker system prune o wslc image prune Định kỳ. Thao tác này sẽ xóa tất cả các hình ảnh và vùng chứa bị đóng băng đang nằm im ở đó. chiếm không gian không cần thiết và làm chậm hệ thống.

Máy tính xách tay hiển thị mã lập trình trong môi trường tối, thể hiện không gian làm việc của nhà phát triển cho WSL và Docker.
Bài viết liên quan:
Cách tối ưu hóa việc sử dụng bộ nhớ và ổ đĩa trong WSL 2 và Docker