Bài này chỉ giải quyết một việc: cài Docker Desktop trên Windows 11 và xác nhận Docker hoạt động.

Không có hướng dẫn cho macOS, Ubuntu hoặc các bản phân phối Linux khác. Những nền tảng đó cần quy trình riêng.


Docker Desktop là gì?

Docker Desktop cung cấp giao diện, Docker CLI và Docker Engine để lập trình viên làm việc với container trên Windows.

Luồng sử dụng cơ bản:

Luồng hoạt động Docker

PowerShell
Docker CLI
Docker Desktop
Image & Container

Image: Gói chứa thành phần cần thiết để chạy ứng dụng

Container: Phiên bản đang chạy được tạo từ image

Khi chạy một image chưa có trên máy, Docker sẽ tải image từ registry, tạo container rồi chạy lệnh được khai báo trong image.


Yêu cầu trước khi cài

Máy cần đáp ứng các điều kiện sau:

Thành phầnYêu cầu
Windows11 64-bit (bản còn được hỗ trợ)
RAMTừ 8 GB (recommend)
VirtualizationBật trong BIOS/UEFI
WSLĐã cài và cập nhật
Ổ đĩaCòn đủ chỗ cho image, container, volume

Mở Task Manager bằng Ctrl + Shift + Esc, chọn Performance → CPU và kiểm tra:

Virtualization: Enabled

Nếu hiển thị Disabled, cần bật virtualization trong BIOS hoặc UEFI trước khi tiếp tục.


Kiểm tra Windows

Nhấn Windows + R, nhập winver.

Hộp thoại About Windows sẽ hiển thị edition, version và OS build đang sử dụng.

Hoặc kiểm tra bằng PowerShell:

Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber

Kết quả dạng:

WindowsProductName    WindowsVersion    OsBuildNumber
------------------    --------------    -------------
Windows 11 Pro        23H2              22631

Số phiên bản trên từng máy có thể khác. Quan trọng là Windows vẫn nằm trong thời hạn hỗ trợ.


Kiểm tra Virtualization

Mở PowerShell và chạy:

Get-CimInstance Win32_Processor | Select-Object Name, VirtualizationFirmwareEnabled

Kết quả cần có:

VirtualizationFirmwareEnabled
-----------------------------
                        True

Nếu giá trị là False, Docker Desktop có thể không khởi động được.

Tên tùy chọn trong BIOS/UEFI phụ thuộc vào CPU:

CPUTùy chọn
IntelIntel Virtualization Technology / Intel VT-x
AMDAMD-V / SVM Mode

Chuẩn bị WSL

Docker Desktop sử dụng WSL 2 làm backend mặc định trên phần lớn máy Windows 11.

Mở PowerShell bằng quyền Administrator:

wsl --install

Nếu WSL đã được cài, cập nhật bằng:

wsl --update

Sau đó kiểm tra:

wsl --version

Đặt WSL 2 làm phiên bản mặc định:

wsl --set-default-version 2

Khởi động lại Windows nếu hệ thống yêu cầu.


Tải và Cài đặt Docker Desktop

  1. Tải bộ cài từ trang chính thức: Docker Desktop cho Windows
  2. Chạy file Docker Desktop Installer.exe
  3. Giữ tùy chọn WSL 2 làm backend
  4. Khởi động lại Windows nếu được yêu cầu
  5. Mở Docker Desktop và chờ Docker Engine chuyển sang trạng thái Engine running (đang chạy)

Kiểm tra Docker CLI

Sau khi Docker Desktop đã khởi động, mở một cửa sổ PowerShell mới:

docker --version

Lệnh này mới chỉ xác nhận Docker CLI đã được cài. Tiếp tục kiểm tra kết nối tới Docker Engine:

docker version

Kết quả thành công phải có cả hai phần ClientServer:

Client:
 Version:           ...

Server: Docker Desktop Engine: Version:

Nếu chỉ có phần Client, Docker CLI đã được cài nhưng chưa kết nối được với Docker Engine.


Kiểm tra Docker Engine & Chạy Container thử nghiệm

Chạy lệnh kiểm tra thông tin Engine:

docker info

Chạy container thử nghiệm:

docker run --rm hello-world

Kết quả thành công chứa dòng chữ:

Hello from Docker!

Nếu thấy dòng này, Docker CLI đã kết nối được với Docker Engine, image đã được tải và container đã chạy thành công.


Các lệnh kiểm tra cơ bản

# Liệt kê image đã tải
docker image ls

# Liệt kê container đang chạy docker container ls

# Liệt kê cả container đã dừng docker container ls —all

# Xem dung lượng Docker đang sử dụng docker system df

Lưu ý: Không chạy docker system prune --all nếu chưa hiểu rõ dữ liệu sẽ bị xóa.

Xử lý sự cố thường gặp

🐛 Bước 1 — Gặp lỗi Docker?

⚡ Bước 2 — Docker Engine đã chạy chưa?

Trạng thái Hành động
❌ Chưa chạy → Đi theo luồng Nhánh A bên dưới
✅ Đã chạy → Đi theo luồng Nhánh B bên dưới

Nhánh A — Docker Engine chưa chạy

1️⃣ Bước 1: Kiểm tra Docker Desktop đã mở chưa

2️⃣ Bước 2: Cập nhật WSL bằng PowerShell

wsl --update
wsl --shutdown

3️⃣ Bước 3: Mở lại Docker Desktop

🔁 Quay lại bước 2 — Engine đã chạy chưa?

✅ Có → 🎉 Docker hoạt động!
❌ Không → Quay lại Bước 2

Nhánh B — Engine chạy rồi nhưng vẫn lỗi

⚡ Engine đang chạy? → Tiếp tục kiểm tra

📦 Không tải được Image?

1️⃣ Mở Docker Desktop → Settings → Resources → Proxies

2️⃣ Kiểm tra VPN/Proxy có can thiệp không

✅ Proxy đã tắt?

  • Có: 🎉 Docker hoạt động!
  • Không: Tắt VPN/Proxy rồi thử lại
Không 🎉 Docker hoạt động!

1. Lỗi Docker Engine chưa chạy (error during connect)

  • Kiểm tra Docker Desktop đã mở chưa
  • Thử cập nhật và khởi động lại WSL:
wsl --update
wsl --shutdown
  • Mở lại Docker Desktop

2. Lỗi không tải được Image (docker pull)

  • Mở Docker Desktop → Settings → Resources → Proxies
  • Kiểm tra cấu hình Proxy hoặc VPN có can thiệp vào kết nối mạng không

Sau khi hoàn tất

Docker Desktop đã sẵn sàng khi cả 3 kiểm tra sau đều thành công:

docker --version           # Xác nhận CLI đã cài
docker version             # Xác nhận CLI kết nối được với Engine
docker run --rm hello-world  # Xác nhận container chạy tốt

Bài liên quan

Nếu gặp lỗi sau khi cài, tham khảo: Sửa Lỗi Docker Desktop: WSL distro terminated abruptly

Đang cài trên macOS? Xem: Cài Docker Desktop trên macOS


Mã nguồn

Mã nguồn và script kiểm tra trong repo: github.com/levantri10/kizetech_blog


Nguồn tham khảo