Chủ Nhật, 22 tháng 8, 2021

Bài Pre-1: Thiết lập hệ điều hành nguồn mở để học tập và cài đặt docker desktop trên hệ điều hành windows

Xây dựng môi trường hỗ trợ làm việc nhóm với Docker

Bài Pre-1: Thiết lập hệ điều hành nguồn mở để học tập và cài đặt docker desktop trên hệ điều hành windows

 

Mục đích: Qua các bài viết liên quan đến việc xây dựng môi trường hỗ trợ làm việc nhóm với docker, chúng tôi đang mặc định quý vị đã biết cài đặt và thiết lập cho ứng dụng docker (docker host). Tuy nhiên, việc cài đặt docker nói riêng và việc sử dụng hệ điều hành nguồn mở trên hệ điều hành windows nói chung có rất nhiều vấn đề hấp dẫn mà chúng tôi chia sẻ trong bài viết này. Bài viết này, chúng ta tập trung vào vấn đề tìm hiểu WSL2 (Windows Subsystem for Linux), đây là cách thức Microsoft cho phép người phát triển phần mềm chạy môi trường GNU/Linux trực tiếp trên Windows mà không ảnh hưởng đến việc quản lý virtual memory của hệ điều hành windows hay không phải cấu hình việc chạy hệ điều hành song song. Nội dung bài viết này cũng hướng dẫn quí vị cài đặt hệ điều hành nguồn mở Ubuntu cùng với các chia sẻ khi sử dụng hệ điều hành sau khi cài đặt cũng như cácgợi ý thiết lập trong quá trình cài đặt các ứng dụng hỗ trợ trên kiến trúc này.

Yêu cầu về kiến thức cơ bản

·         Nắm vững các kiến thức về hệ điều hành của máy tính (tham khảo tại địa chỉ Modern Operating System - Tanenbaum.pdf (pub.ro), Modern Operating Systems: Tanenbaum, Andrew, Bos, Herbert: 9780133591620: Amazon.com: Books)

·         Đã sử dụng và thao tác tốt trong Windows, đặc biệt với màn hình command prompt và power shell

·         Đã sử dụng qua hệ điều hành mã nguồn mở như Linux, Ubuntu, Fedora và tập lệnh Bash shell

Công cụ thực hiện

·         Command prompt và power shell

·         Đang sử dụng hệ điều hành windows, trong bài này chúng tôi đang thực hiện trên hệ điều hành windows 10 với các bảng build từ 1803xx trở lên

·         Máy tính có hỗ trợ công nghệ ảo hóa – Virtualization. Máy tính đã thiết lập bật Enabled Virtualization hay Vt-x trong BIOS

Kiến thức tổng quát

·         Hyper-V

o   Là cơ chế cho phép người phát triển phần mềm chạy nhiều hệ điều hành như là các máy áo trên hệ điều hành Windows

o   Đây là cơ chế thực hiện việc ảo hóa các phần cứng vật lý thành các thành phần device nhìn theo khía cạnh là chia sẻ từ các thiết bị thật một phần để add vào các máy áo đang chạy hệ điều hành khác biệt với Windows. Bên cạnh đó, xuất hiện nhiều vấn đề liên quan đến việc hiệu suất chậm hơn vì các máy áo cũng được xem như là một ứng dụng được điều phối từ hệ điều hành window sao đó mới chuyển lên các máy ảo và hệ điều hành máy ảo mới thực thi.

o   Tham khảo tại địa chỉ Introduction to Hyper-V on Windows 10 | Microsoft Docs

·         WSL – Windows Subsystem for Linux

o   Là một dịch vụ của hệ điều hành Windows cho phép các developer chạy trực tiếp môi trường GNU/Linux trực tiếp trên hệ điều hành Windows mà

§  Không ảnh hưởng đến cơ chế quản lý bộ nhớ ảo của hệ điều hành trong quá trình cấp phát CPU và điều phối nhiều chương trình chạy một lúc trên hệ điều hành bởi vì

·         Nó là một công cụ chạy trực tiếp trên hệ điều hành Windows và cho phép thực hiện việc đọc file và chạy ứng dụng của Linux (run native Linux libraries) trực tiếp trên Windows

·         Chúng ta có thể hình dung kiến trúc của WSL được thể hiện theo 03 layer

o   Layer 1 chính là nơi Linux (các hệ điều hành mã nguồn mở dựa trên Linux Kit người ta hay gọi với tên Distro (Distribution Linux)) được cài đặt

o   Layer 2 chính là kiến trúc WSL cho phép chuyển đổi các việc đọc file, gọi ứng dụng (system call) trong layer 1 trở thành các lệnh để có thể thực thi trong hệ điều hành Windows

o   Layer thứ 3 chính là tầng của hệ điều hành windows trên máy tính của chúng ta đã cài đặt

(hình tham khảo tại  Sự khác biệt giữa WSL và WSL2 là gì? – Linux trong Windows | Affizon)

§  Không cần phải cài đặt hay thiết lập cơ chế khởi động hệ điều hành song song dẫn đến thao tác khó khăn khi chuyển đổi việc đọc tập tin hay truy cập ứng dụng trên các hệ điều hành khác nhau

§  Không cần phải cài đặt dạng virtual machine để chia sẻ tài nguyên từ CPU đến ổ cứng vật lý đến vùng không gian bộ nhớ để điều phối nhiều ứng dụng chạy một lúc trên hệ điều hành

o   Cho thực thi lệnh trực tiếp của Linux từ windows từ các console lệnh thông qua WSL. Công cụ WSL sẽ hỗ trợ hệ Windows trong việc cho phép access các thành phần trong Layer 1 và ngược lại nó cũng cung cấp cơ chế đế Layer 1 tương tác được các thành phần trong layer 3 thông qua WSL

o   Tham khảo tại địa chỉ What is Windows Subsystem for Linux | Microsoft Docs

o   Tuy nhiên,

§  WSL 1 chỉ là một dịch vụ cho nên việc deplay trong quá trình thực thi diễn ra đối với các ứng dụng đòi hỏi tính real time và có yêu cầu cấp phát hay sử dụng các thiết bị ngoại vi như Game, đồ họa, … và không tương thích với các ứng dụng

§  WSL 1 chỉ là một service trên Windows cho nên nó chỉ hỗ trợ đa số là việc tương tác lệnh không hỗ trợ tốt về GUI hay kết nối mạng như đã nêu ở trên vì không có nhân – kernel thực sự

·         WSL2

o   Đây kiến trúc được nâng cấp từ WSL ở trên có thể chạy trên cơ chế quản lý file và thư mục 64 bit của hệ điều hành Linux (ELF64 – Executable and Linkable Format, tham khảo tại địa chỉ Understanding the ELF File Format (linuxhint.com), elf.pdf (linuxfoundation.org)) để hỗ trợ tăng cường tính thực thi trong hệ điều hành đối với ứng dụng (system call)

o   Kiến trúc này sẽ khắc phục những nhược điểm từ việc boot chậm, tiêu tốn nhiều tài nguyên khi thực thi và tăng cường tính quản lý của hệ điều hành cụ thể về việc không cần tốn thời gian cấu hình virtual machine

§  Kiến trúc này đã được Microsoft build một máy ảo đơn giản (light) dành riêng với Linux được được tích hợp sự ảo hóa sử dụng Hyper - V

§  Chính kiến trúc này đã hỗ trợ và khắc phục các khuyến điểm của tính trễ WSL 1 vì WSL1 chỉ là một dịch vụ trong hệ điều hành Windows

(hình tham khảo tại  Sự khác biệt giữa WSL và WSL2 là gì? – Linux trong Windows | Affizon)

o   Tham khảo thêm tại địa chỉ Comparing WSL 1 and WSL 2 | Microsoft Docs

o   Lợi ích khi sử dụng WSL2

§  Khắc phục các khuyến điểm của WSL 1 như đã nói ở trên, khắc phục thời gian trễ, hỗ trợ GUI, các yêu cầu về thiết bị ngoại vi cũng như mạng. Đặc biệt có thể hỗ trợ các dạng ứng dụng chạy như Docker vì điểm nhấn quan trọng nhất là có sẵn nhân Linux ngay trong kiến trúc

§  Có khả năng tích hợp trực tiếp với hệ điều hành đang thực thi là windows thay vì

·         Máy ảo chạy trong một môi trường riêng biệt (isolated) với tất cả các thành phần độc lập

·         Không thể tương tác với môi trường hay hệ điều hành khác ngoại trừ phải thiết lập cơ chế kết nối mạng, share dữ liệu hay device dựa trên giao thức kết nối thống nhất giữa môi trường bên trong và bên ngoài máy ảo

§  Ngược lại, windows cũng có thể tương tác với các thành phần trong kiến trúc WSL2 thông qua sự hỗ trợ của socket

§  WSL2 được Microsoft hỗ trợ và được khắc phục thông qua các bảng vá lỗi trực tiếp với Windows Update

§  Chúng ta chỉ nên sử dụng WSL 2 trong trường hợp

·         Muốn thao tác hệ điều hành mã nguồn mở đơn giản chỉ là sử dụng dòng lệnh để hỗ trợ các ứng dụng khác như docker. Chúng ta không nên dùng kiến trúc này với mong muốn tìm hiểu và sử dụng một hệ điều hành nguồn mở như hệ điều hành chính với hiệu suất như phát triển Game, đồ họa, lập trình hay cấu hình mạng, ...

·         Chúng ta mong muốn nghiên cứu, chạy thử nghiệm sử dụng những ứng dụng quen thuộc mà máy tính chúng ta cấu hình phần ứng không đủ mạnh, không muốn cấu hình hay thiết lập và quản lý các loại máy ảo, ...

·         Máy tính của chúng ta có hệ điều hành không hỗ trợ Hyper-V (không có trong Windows Home) nhưng có hỗ trợ WSL2

§  Một số hạn chế của WSL2

·         Không hỗ trợ truy cập serial port

·         Bộ nhớ của hệ điều hành sẽ bị chiếm dụng nhiều khi sử dụng WSL2 và chỉ được Windows thu hồi khi WSL2 shutdown

·         Docker trên nền WSL2

o   Docker chạy trên nền của Hyper-V

§  Khi docker được khởi chạy thì máy ảo sẽ kết nối với ổ cứng đã được thiết lập dành cho máy ảo (VHD)

§  Sau khi quá trình kết nối thành công, máy ảo sẽ được kích hoạt nạp các thành phần của Linux từ gói cài đặt Docker Desktop (docker-desktop.iso) để từ đó thực hiện các dịch vụ liên quan đến quản lý toàn bộ quá trình hoạt động của docker

§  Bên cạnh đó, trong quá trình thực thi thì máy ảo tiếp tục liên kết đến thông tin version, việc thực thi dựa trên các nội dung script có trong gói version-package.iso

§  Trong quá trình vận hành, hệ điều hành windown yêu cầu các chức năng thực hiện trên docker thì đòi hỏi phải thiết lập Hyper-V socket để mở đường kết nối hỗ trợ giao tiếp từ Windows đến máy ảo Linux

(hình tham khảo tại địa chỉ Introducing the Docker Desktop WSL 2 Backend - Docker Blog)

o   Docker chạy trên nền của WSL2

§  Đầu tiên, gói docker-desktop.iso được build để chạy trên WSL2 đã loại bỏ các thành phần mà kiến trúc WSL2 đã hỗ trợ như là nhân Linux cũng như các dịch vụ chạy trên hệ điều hành Linux

§  Tại thời điểm khởi chạy docker, WSL2 không cho phép thực hiện mapping trực tiếp đến VHD như máy ảo mà mapping tới container images (docker-desktop-data)

§  Sau khi việc kết nối đến nơi chứa thông tin đã xong, việc nạp 02 file docker-desktop.iso và version-package.iso vẫn thực hiện tương tự như Hyper-V nhưng nó không nạp thành hệ điều hành trong máy ảo mà tạo vùng không gian riêng biệt với các tài nguyên dành cho ứng dụng docker hoạt động (namespace)

·         Namespace này thực hiện một số dịch vụ thông qua WSL2 để kết nối giao tiếp với hệ điều hành Windows mà không cần sử dụng protocal Samba để chia sẻ tập tin, quản lý quá trình hoạt động của docker

§  Và khi mọi thứ nạp hoàn tất, docker đang chạy như là một container đang được quản lý bởi docker desktop thay vì là một máy ảo như trong Hyper-V

§  Cơ chế vận hành cũng tương tự như Hyper-V và thực chất chúng ta nhìn nhận docker-desktop là một Hyper-V trong WSL2 và tốc độ nạp cũng nhanh hơn và dưới sự hỗ trợ của WSL2 thì việc tương tác và hỗ trợ dịch vụ có performance tăng lên rất nhiều

(hình tham khảo tại địa chỉ Introducing the Docker Desktop WSL 2 Backend - Docker Blog)

Cài đặt WSL2 trên hệ điều hành Windows để từ đó cài đặt Ubuntu và hệ điều hành mở với GUI, Docker

·         Cài đặt WSL

o   Chúng ta bắt quá trình kích hoạt và cài đặt WSL bằng cách mở hay tìm kiếm công cụ Apps & features

o   Cửa sổ công cụ được mở lên Apps & Features xuất hiện

o   Chúng ta chọn Programs and Features, cửa sổ sẽ xuất hiện như sau

o   Chúng ta chọn “Turn Windows features on or off”.

o   Chúng ta check chọn Windows Subsystem for Linux, rồi nhấn Ok

o   Các màn hình cài đặt sẽ xuất hiện như sau

o   Chúng ta thực hiện click nút Restart now để khởi động máy tính lại để các thiết lập hiệu lực

o   Tiếp theo, chúng ta cần thiết lập dịch vụ hỗ trợ máy ảo từ windows bằng cách quay lại công cụ “Turn Windows features on or off” và check chọn “Virtual Machine Platform”. Click nút OK

o   Quá trình kích hoạt và cài đặt tương tự như WSL và sẽ khởi động lại máy

o   Sau khi chúng ta khởi động lại máy tính, chúng ta đến Settings, và chọn Update & Security, chúng ta chọn Windows Update

o   Chúng ta sẽ update Windows Subsystem for Linux Update như ở trên. Quá trình Windows Update thành công (có thể phải khởi động lại máy tính)

o   Chúng vào bên trong công cụ Apps & Features, chúng ta tìm từ khóa Linux, chúng ta sẽ thấy WSL đã được cài đặt vào Windows

§  Tùy theo các bảng Windows khác nhau thì chúng ta sẽ thấy các version khác nhau của WSL

o   Chúng ta mở power shell trong windows để thiết lập wsl đến kiến trúc version 2 bằng lệnh wsl --set-default-version 2 và nhấn enter

§  Nếu mọi thứ ok thì chúng ta sẽ có kết quả thiết lập thành công như sau

§  Nếu việc thực hiện có phát sinh lỗi như sau

·         Chúng ta thực hiện download tập tin wsl update về

·         Thực hiện thực thi cài đặt file sau khi download

·         Chúng ta click nút Finish để hoàn tất cài đặt

·         Sau đó, chúng ta thực hiện lại câu lệnh wsl --set-default-version 2 và nhấn enter trên power shell và nhìn thấy kết quả thành công đã nêu trên là đạt

o   Chúng ta mở power shell để xem việc cài đặt hiệu lực chưa bằng câu lệnh wsl --list –verbose và nhấn enter

§  Kết quả trên cho thấy chúng ta cần install một distributions Linux – Distro Linux cho wsl vận hành

·         Install Distro Linux trên nên WSL

o   Chúng ta có thể mở Microsoft Store ra và search từ khóa ubuntu hay bất kỳ hệ điều hành mã nguồn mở mà quí vị cần sử dụng

o   Chúng ta cũng thể vào địa chỉ trang web của microsoft

§  Chúng ta tùy chọn chọn version Ubuntu chúng ta muốn cài đặt. Trong bài viết này, chúng ta có thể sử dụng 18.04 hay 20.04 LTS đều được (chúng tôi đã test thử với 02 phiên bản này và thấy được mọi thứ chạy ổn)

§  Thực hiện click nút Tải/Download, cửa sổ sẽ yêu cầu chúng ta chuyển vào Microsoft Store

o   Trong cửa sổ ứng dụng Microsoft Store, chúng ta click chọn nút Get

o   Quá trình download và cài đặt sẽ diễn ra cho đến khi chúng ta thấy nút launch xuất hiện là việc cài đặt Ubuntu đã thành công

o   Bây giờ, chúng ta có thể thử sử dụng Ubuntu vừa cài đặt bằng cách nhấn nút Launch hay click chọn từ Windows

§  Cửa sổ console xuất hiện như sau

§  Và sau vài giây hay phút tùy theo cấu hình của máy tính, cửa sổ thiết lập security ban đầu sẽ xuất hiện

·         Chúng ta nhập username mới tùy ý theo chúng ta muốn như cách thiết lập user ban đầu khi cài đặt hệ điều hành (ở đây chính là user root của hệ điều hành Ubuntu). Sau khi nhập xong thì nhấn enter

·         Hệ thống yêu cầu chúng ta đặt mật khẩu, chúng ta nhập tùy thích theo ý của quí vị và lưu ý khi nhập sẽ không hiện ký tự nào cả vì cơ chế bảo mật tốt không cho hiện thị số lượng ký tự quí vị nhập. Sau khi nhập, quí vị nhớ lưu ý mật khẩu để nhập lại lần nữa sau khi nhấn enter

·         Chúng ta thực hiện nhập lại password lần nữa trùng khớp với password trước đó đã nhập

·         Sau khi nhấn enter, nếu tất cả mọi thứ trùng khớp thì chúng ta sẽ nhận thấy màn hình như sau và chúng ta sẽ ở tại dấu nhắc màn hình lệnh của Ubuntu

§  Để check việc cài đặt Ubuntu trên WSL thể hiện như thế nào, chúng ta quay lại màn hình Power Shell và gõ lệnh wsl --list –verbose, chúng ta sẽ nhìn thấy kết quả

§  Chúng ta quay lại màn hình console của Ubuntu để sử dụng thử các tập lệnh bash shell từ dấu với vài lệnh cơ bản như sau

·         Liệt kê các thành phần trong thư mục root với lệnh ls -a

·         Xác định các process đang chạy trong hệ điều hành ubuntu bằng lệnh ps

·         Các lệnh về command line của bash shell, chúng ta có thể tham khảo thêm tại địa chỉ Linux Shell Commands (cf.ac.uk)

§  Chúng ta cũng có thể truy cập các ổ VHD do WSL quản lý bằng cách mở Windows Explorer và gõ \\wsl$ trên thanh address

·         Chúng ta vẫn truy cập được các VHD

§  Ngoài cách thao tác bằng màn hình console lệnh với các thành phần trong hệ điều hành trongWSL, chúng ta có cách thứ 2 đó là sử dụng tool Microsoft VS code để access vào trong ổ cứng VHD

·         Chúng ta mở tool Microsoft VS code, chọn phần Entension và gõ tìm kiếm Remote-WSL

·         Nhấn chọn Install. Sau khi install thành công, chúng ta sẽ có công cụ trên Tool hỗ trợ truy cập các thành phần trong WSL

·         Chúng ta click chọn hệ điều hành chúng ta muốn tương tác, cửa sổ thao tác sẽ xuất hiện như sau

·         Chúng ta có thể thao tác với màn hình terminal trong tool VS

·         Trong quá trình cài đặt extension, nếu chúng ta thấy lỗi xuất hiện như thế này

o   Vấn đề này là do không tương thích version, cho dù chúng ta chọn Update tool thì tool vẫn báo bảng mới nhất. Đây là lỗi của tool chỉ check bảng update của version hiện có, không check version cao hơn

o   Để khắc phục lỗi dạng như thế này, chỉ cần uninstall tool rồi thực hiện download bảng mới nhất của VS Code và install lại.

·         Việc nâng cấp các tiện ích cho hệ điều hành mã nguồn mở như trình biên dịch, quản lý file, sử dụng GUI hỗ trợ cho hệ điều hành nguồn mở, chúng tôi sẽ sẽ thiệu ở phần bài đọc thêm trong series này để quí vị có thể tham khảo và ứng dụng trải nghiệm để đáp ứng nhu cầu tức thời trong quá trình sử dụng

o   Một trong những vấn đề được đặt ra tiếp theo ở đây là ở cứng ảo của hệ điều hành ubuntu do wsl quản lý sẽ được thể hiện như thế nào trong hệ điều hành windows?

§  Thực chất ổ cứng ảo VHD chỉ là một file được lưu trữ ở trong ổ thiết lập mặc định trong hệ điều hành windows theo đường dẫn C:\Users\<<tên account đang sử dụng trong Windows>>\App Data\Local\Packages\CanonicalGRoupLimited.<<hệ điều hành>… Hình dưới là một ví dụ được cài đặt

§  Chúng ta mở vào trong thư mục này sẽ thấy cấu trúc

o   Vấn đề đặt ra tiếp theo đó là việc lưu trữ đang được thiết lập tại ổ C, ổ có hệ điều hành chính của chúng ta và nó có dung lượng giới hạn nhất là khi chúng ta dùng ổ SSD và kích thước dữ liệu tăng theo thời gian.

§  Chúng ta chắc chắn có như cầu dời VHD này đến ổ thuận lợi và có đầy đủ dung lượng để hỗ trợ tăng kích thước thoải mái khi vận hành. Chúng ta thực hiện các bước như sau

·         Tắt màn hình console ubunta đang hoạt động

·         Tại màn hình Power Shell, chúng ta shutdown ubuntu bằng lệnh  

o   Ở màn hình chúng ta cũng đã kiểm tra lại để thấy rằng hệ điều hành đang chuyển từ Running sang Stopped sau khi dùng tham số -t để shutdown

·         Chúng ta thực hiện export VHD đang được mapping từ vị trí hiện hành trở thành kết xuất dạng tar – một dạng chuẩn nén với lễnh wsl --export <<tên hệ điều hành> <<đường dẫn ổ đĩa, thư mục và tên file tar sẽ kết xuất>>. Nhấn enter chúng ta sẽ có kết quả như màn hình bên dưới

·         Chúng ta có thể kiểm tra file được kết xuất

·         Chúng ta thực hiện hủy liên kết đến VHD hiện hành bằng lệnh wsl --unregister <<tên hệ điều hành>>. Nhấn Enter, chúng ta có kết quả như sau

·         Cuối cùng, chúng ta import và đăng ký lại vị trí mapping VHD mới với câu lệnh wsl --import <<tên hệ điểu hành>> <<ổ đĩa thư mục mới chúng ta muốn host>> <<đường dẫn đến file tar backup>>.

o   Câu lệnh import bao gồm trích xuất và yêu cầu wsl mapping đến vị trí lưu trữ mới.

o   Nhấn Enter chúng ta có kết quả như sau

o   Sau khi thành công, chúng ta kiểm tra tại thư mục host mới, chúng ta sẽ thấy VHD mới như sau

o   Chúng ta chạy lại hệ điều hành Ubuntu

o   Chúng ta kiểm tra lại trạng thái bằng lệnh wsl để thấy hệ điều hành đã chạy

·         Chúng ta bắt đầu việc cài đặt Docker trên nền WSL2

o   Chúng ta download docker desktop trên docker hub

§  Chúng ta click vào Get Docker để download docker về. Sau khi download xong, chúng ta thực hiện cài đặt và khởi động máy tính lại

§  Khi cài đặt thành công, chúng ta sẽ mở Docker Desktop

o   Docker Desktop chúng ta được thiết lập trên WSL khi chúng ta mở Dashboard Setting trong Docker Desktop

·         Chúng ta nhìn thấy WSL đang cấu hình Docker Distro chạy độc lập mà không cần phải có Ubuntu

·         Chúng ta có thể kiểm chứng trên Power Shell như sau

·         Chúng ta cũng nhìn thấy wsl support thành phần lưu trữ trong phần kiến thức tổng quát đã nêu ở đầu bài

o   Chúng ta truy cập đường dẫn

o   Chúng ta sẽ nhìn thấy

·         Chúng ta cũng có thể di chuyển các dữ liệu docker sang nơi lưu trữ khác như cách với hệ điều hành Ubuntu

o   Shutdown Docker Desktop

o   Shutdown wsl

o   Kiểm tra lại

o   Backup docker-desktop-data vì đây là phần tăng dữ liệu khá nhiều

o   Cắt đứt liên kết đến vị trí cũ

·         Restore và mapping cái mới

§  Check lại vị trí cũ

§  Kiểm tra lại ví trí mới

§  Chúng ta có thể làm tương tự với docker-desktop

§  Trong quá trình thao tác, có thể wsl làm thay đổi vị trí default như sau

§  Chúng ta thiết lập default lại bằng lệnh wsl --s <<tên hệ điều hành>> để thiết lập default

Chúc mừng quí vị đã hoàn tất việc tiếp cận WSL từ service đến kiến trúc hỗ trợ được nâng cấp. Bên cạnh đó, chúng ta đã có thể cài đặt hệ điều hành từ console đến GUI, đến các ứng dụng hỗ trợ host như docker.

Ngoài ra, chúng ta tìm hiểu qua sơ khởi kiến trúc WSL2 để sử dụng và ứng dụng. Hy vọng bài viết này sẽ hỗ trợ cho quí vị trong công việc

Rất mong sự góp ý chân thành và chia sẻ của quí vị về loạt series này.

Không có nhận xét nào:

Đăng nhận xét