6 mẹo để cải thiện trải nghiệm WSL 2 Docker của bạn trên Windows
Hệ thống con Windows cho Linux 2 là một công cụ phi thường trên Windows 10 và 11 và tích hợp liền mạch với Docker. Là nhà phát triển, điều cần thiết là phải hiểu những gì phần mềm này cung cấp và cách bạn có thể tận dụng tối đa thiết lập Docker-WSL 2 của mình.
Mục Lục
Docker là gì?
Docker là một nền tảng mã nguồn mở cho phép các nhà phát triển xây dựng, triển khai và chạy các ứng dụng của họ trong một vùng chứa một cách hiệu quả. Tất cả các phụ thuộc được nhóm lại để dự án của bạn có thể dễ dàng triển khai trong mọi môi trường.
Docker rất phổ biến trong số nhiều nền tảng container hóa vì nó đáng tin cậy, hoạt động hiệu quả và có khả năng mở rộng cao. Nó chạy trên công cụ Docker, một công cụ DevOps thiết yếu cung cấp một môi trường sạch và nhẹ để thử nghiệm và triển khai. Docker tương tự như một máy ảo nhưng ảo hóa hệ điều hành chứ không phải phần cứng bên dưới.
Đối với các nhà phát triển phần mềm, Docker hợp lý hóa quy trình làm việc bằng cách tạo các vùng chứa riêng lẻ cho các vi dịch vụ khác nhau bao gồm các phần phụ thuộc, thư viện và cấu hình cần thiết. Mỗi vùng chứa vi dịch vụ được cách ly và có thể mở rộng riêng lẻ.
Cách sử dụng Docker trên WSL 2
Docker tương thích với tất cả các hệ điều hành chính, chẳng hạn như Windows, macOS và Linux. Nếu đang dùng Windows 10 hoặc 11, bạn có thể sử dụng Docker thông qua Docker Desktop và tích hợp nó với Hệ thống con Windows dành cho Linux 2 để cải thiện hiệu suất. Bạn có thể tải xuống Docker Desktop cho Windows từ trang web chính thức của Docker.
Hệ thống con Windows cho Linux (WSL) là một tính năng có giá trị cho phép người dùng Windows chạy các bản phân phối Linux như Ubuntu và Kali mà không cần thiết lập máy ảo hoặc khởi động kép.
Điều này cũng có nghĩa là người dùng Windows có thể trực tiếp sử dụng các công cụ, ứng dụng và tiện ích dòng lệnh của Linux mà không cần thực hiện các bước cài đặt bổ sung. Phiên bản mới nhất của WSL, WSL 2, cung cấp tính ổn định cao hơn và nhân Linux chuyên dụng.
Vì bộ chứa Docker rất mạnh, bạn thậm chí có thể định cấu hình chúng để lưu trữ máy chủ của mình; nginx docker container thường được sử dụng làm máy chủ web. Ngoài ra, bạn có thể sử dụng Docker theo một số cách khác:
- Chạy các bản phân phối Linux dễ dàng
- Thiết lập máy chủ web cho mục đích học tập hoặc thử nghiệm
- Ứng dụng triển khai di động
- Gói ứng dụng vào một tệp hình ảnh duy nhất
- Đường dẫn CI/CD đơn giản hóa
Bạn phải làm quen với các phương pháp hay nhất để sử dụng Docker với Hệ thống con Windows dành cho Linux 2, giống như cách bạn làm với bất kỳ nền tảng hoặc công cụ nào khác. Là một nhà phát triển, tôi có thể nói từ kinh nghiệm cá nhân rằng bạn sẽ trở nên năng suất và hiệu quả hơn rất nhiều khi bạn tích hợp các mẹo sau vào quy trình làm việc của mình.
1. Tích hợp Mã VS với WSL 2
Visual Studio Code là một IDE phổ biến được yêu thích nhờ các tính năng, cộng đồng và tiện ích mở rộng đáng kinh ngạc của nó. Là một nhà phát triển, khả năng sử dụng Visual Studio Code để phát triển ứng dụng trên nền tảng Windows đồng thời chạy các ứng dụng đó trên nhân Linux là một tính năng vô cùng thuận lợi và gần như không thể tin được.
Khi bạn tích hợp Mã VS vào Hệ thống con Windows dành cho Linux, bạn có thể tận dụng nhân Linux chuyên biệt của nó để nâng cao khả năng tương thích đa nền tảng. Bạn có thể hợp lý hóa hơn nữa quy trình làm việc của mình bằng cách sử dụng thiết bị đầu cuối tích hợp trong Mã VS với WSL 2.
Để thiết lập Mã VS với WSL 2 trên Windows, bạn có thể định cấu hình WSL tiện ích mở rộng từ VS Code Marketplace và bắt đầu mọi thứ.
2. Sử dụng Hệ thống tệp WSL 2
Để chạy bộ chứa Docker đúng cách, điều quan trọng là bạn phải dựa vào hệ thống tệp của bản phân phối WSL 2 và không phụ thuộc nhiều vào hệ thống tệp gốc của Windows. Qua kinh nghiệm làm việc với các bộ chứa Docker trên WSL 2, tôi đã phát hiện ra rằng tốt hơn hết là lưu trữ các tệp dự án của bạn trong WSL.
3. Sử dụng Tập lệnh Linux gốc
Nhiều dự án được đóng gói mà bạn sẽ làm việc có thể sẽ đi kèm với các tập lệnh để tự động hóa trên Linux. Thông thường, các tập lệnh này được phát triển đầu tiên cho Linux và các nhà phát triển Windows không phải là ưu tiên hàng đầu.
Với WSL 2, toàn bộ nhóm của bạn có thể sử dụng cùng một tập lệnh tự động hóa Linux và bạn không phải lo lắng về việc duy trì các tập lệnh tự động hóa tương thích với Windows cho nhóm của mình.
4. Định cấu hình BuildKit để cải thiện hiệu suất và bảo mật
BuildKit là bộ công cụ nguồn mở giúp cải thiện quy trình xây dựng Docker truyền thống về mặt hiệu suất và bảo mật; nó được tích hợp trực tiếp với Docker, vì vậy bạn không cần cài đặt riêng.
Khi bạn kích hoạt BuildKit theo mặc định, bạn đang đảm bảo rằng các vùng chứa của mình đang được xây dựng bằng bộ công cụ BuildKit, mang lại cho bạn khả năng bảo mật, đồng thời, tính linh hoạt và bộ nhớ đệm tốt hơn.
Để bật BuildKit theo mặc định, bạn nên thực hiện các thay đổi sau đối với tệp cấu hình ~/.profile:
export DOCKER_BUILDKIT=1.
5. Thiết lập giới hạn tài nguyên
Khi bạn tích hợp chương trình phụ trợ WSL 2 với Docker Desktop, bạn cấp cho Docker quyền truy cập vào tất cả các tài nguyên CPU của mình. Làm như vậy giúp cải thiện hiệu suất cho các vùng chứa nặng tài nguyên.
Tuy nhiên, trong một số trường hợp, bộ chứa có thể phân bổ nhiều bộ nhớ dư thừa, khiến các quy trình quan trọng của hệ điều hành gặp sự cố. Bạn có nhiều khả năng gặp phải vấn đề này hơn khi sử dụng bộ chứa cơ sở dữ liệu hoặc vi dịch vụ lưu vào bộ nhớ đệm.
May mắn thay, bạn có thể định cấu hình bộ chứa Docker để giới hạn mức sử dụng CPU và bộ nhớ hệ thống. Bạn phải luôn cẩn thận trong khi định cấu hình bộ nhớ hệ thống, ngay cả một lỗi nhỏ cũng có thể gây ra hậu quả nghiêm trọng. Bạn có thể tham khảo tài liệu Docker chính thức để biết hướng dẫn chi tiết hơn về việc giới hạn tài nguyên bộ nhớ và CPU mà bộ chứa Docker tiêu thụ.
6. Khôi phục bộ nhớ đệm
Nếu bạn đang chạy bộ chứa Docker trong WSL 2, bộ nhớ của nó sẽ được giải phóng sau khi bộ chứa kết thúc. Thật không may, nhân hệ điều hành có xu hướng duy trì dữ liệu trong bộ đệm; điều này có nghĩa là bộ nhớ hiệu dụng do WSL 2 thu hồi sẽ không đủ.
Bạn có thể khôi phục tất cả bộ nhớ đang được sử dụng làm bộ nhớ cache một cách không cần thiết bằng cách chạy lệnh sau thông qua root trong WSL 2:
echo 1 > /proc/sys/vm/drop_caches
Thông minh hơn với WSL 2
WSL 2 là tính năng tốt nhất dành cho các nhà phát triển dựa trên Windows, thay đổi hoàn toàn cách các nhà phát triển sử dụng Docker. Các nhà phát triển phải hiểu các phương pháp hay nhất để sử dụng Docker với WSL nhằm cải thiện hiệu suất, bảo mật và tính linh hoạt của quy trình làm việc.