Trước tiên, bạn cần xem qua 3 bài viết sau đây nếu chưa biết Docker là gì
Nếu bạn đọc qua Part 1.2, sẽ hiểu tại sao chúng ta sẽ không sử dụng Docker Desktop.
Docker Desktop cung cấp cho bạn quyền truy cập vào Windows Containers và Linux Containers thông qua WSL2 hoặc Hyper-V
Microsoft cung cấp cho user cài đặt Linux thông qua WSL2, nghĩa là bạn có thể sử dụng được các bản distro Linux trên Windows. Bạn cũng có thể cài đặt Docker trên Linux (Docker CE chứ không phải Docker Desktop nha) thông qua các package và nhiều config (Part 1.2). Nhưng Docker trên Linux không cho phép bạn tạo Windows Containers.
Có 2 giải pháp: sử dụng Rancher Desktop hoặc Docker binaries.
Tham khảo giấy phép của Docker: https://github.com/moby/moby/blob/master/LICENSE
Nhược điểm là bạn không thể sử dụng được docker scan, docker compose.
Cài đặt
Windows Containers yêu cầu Windows 10/11 Pro hoặc Enterprise phiên bản 1607 trở lên.
Để bắt đầu, trong Windows features, bạn enable:
- Container
- Hyper-V
Trường hợp bạn sử dụng Windows Home, sử dụng 2 đoạn script sau để bật Hyper-V và Container
Mở notepadd++, tạo file hv.bat với nội dung như sau:pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*containers*.mum >containers.txt
for /f %%i in ('findstr /i . containers.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del containers.txt
Dism /online /enable-feature /featurename:Containers -All /LimitAccess /ALL
pause
Tạo file container.bat với nội dung như sau:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
Sau khi lưu xong, bạn kích chuột phải vào tệp > chọn Run As Administrator (sẽ mất một khoản thời để cài đặt chương trình). Sau khi hoàn thành, bạn khởi động lại máy tính của mình.
Trường hợp bạn sử dụng Windows Professional: Mở PowerShell với quyền Administrator
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName Containers
Cài đặt Scoop
Scoop là trình cài đặt phần mềm tương tự như Chocolatey nhưng cách hoạt động tương tự như npm
Mở Powershell với quyền user
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
Sau đó cài đặt git và aria2
scoop install git aria2
Tiếp theo là cài đặt Docker
scoop install docker
Thiết lập Docker trong Windows
Mở PowerShell với quyền Administratordockerd --register-service ; Start-Service docker ; exit
dockerd.exe --register-service được dùng để tạo "Docker" service và bật lên mỗi khi start Windows
Tuy nhiên, bạn có thể tắt dockerd để tránh tốn CPU, RAM.
Nhấp phải vào dockerd, chọn Properties => General => Startup type => Manual
Mặc định, người dùng không có quyền Administrator (A non-privileged user is a user that does not belong to the Dynamic Data Masking administration group.) sẽ không thể sử dụng được Docker
Sau mỗi lần khởi động máy, muốn sử dụng Docker, bạn mở PowerShell với quyền Aministrator
Start-Service docker
Kiểm tra docker
docker run hello-world:nanoserver
Bạn sẽ thấy image sẽ được pull và và container sẽ được tạo sau đó.
Tham khảo
https://boxofcables.dev/a-lightweight-windows-container-dev-environment/
Chúc các bạn thành công!
Nhận xét
Đăng nhận xét