Cài đặt Docker: Linux, macOS và Windows
Bạn có biết? Một team phát triển gồm 5 người, mỗi người dùng hệ điều hành khác nhau — Ubuntu, macOS, Windows. Họ mất nguyên một tuần chỉ để “cài đặt môi trường cho giống nhau”. Người thiếu thư viện, người xung đột phiên bản, người thì Docker chạy không nổi vì cấu hình sai. Nếu họ biết cách cài đặt Docker đúng ngay từ đầu, cả tuần đó đã dành cho việc code.
Bài viết này sẽ hướng dẫn bạn cài đặt Docker trên cả ba nền tảng — Linux, macOS và Windows — chỉ trong vài phút. Mỗi bước đều có lệnh cụ thể, không dài dòng.
Yêu cầu hệ thống
Trước khi cài đặt, hãy đảm bảo máy của bạn đáp ứng các yêu cầu tối thiểu:
- CPU: 64-bit processor (x86_64 hoặc ARM64)
- RAM: Tối thiểu 4 GB (khuyến nghị 8 GB trở lên)
- Disk: Ít nhất 20 GB trống
- OS: Linux kernel 3.10+, macOS 11 (Big Sur) trở lên, Windows 10/11 64-bit
- BIOS: Virtualization bật (VT-x/AMD-V) — bắt buộc cho Windows và macOS
Cài đặt trên Linux
Linux là nền tảng “bản địa” của Docker — chạy nhanh nhất, ổn định nhất vì không cần virtualization layer.
Ubuntu / Debian
Cách chính thức — cài từ Docker repository:
# 1. Gỡ phiên bản cũ (nếu có)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. Cài đặt dependencies
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# 3. Thêm Docker GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 4. Thêm Docker repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. Cài đặt Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
CentOS / RHEL / Fedora
# 1. Cài đặt dnf-plugins-core
sudo dnf -y install dnf-plugins-core
# 2. Thêm Docker repository
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 3. Cài đặt Docker Engine
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 4. Khởi động Docker
sudo systemctl start docker
sudo systemctl enable docker
Arch Linux
sudo pacman -S docker
sudo systemctl start docker
sudo systemctl enable docker
Verify trên Linux
# Kiểm tra Docker đã chạy chưa
sudo docker run hello-world
# Thêm user vào docker group (không cần sudo nữa)
sudo usermod -aG docker $USER
newgrp docker
# Kiểm tra lại — giờ không cần sudo
docker run hello-world
Cài đặt trên macOS
Docker Desktop for Mac (khuyến nghị)
Đây là cách đơn giản nhất. Docker Desktop bao gồm Docker Engine, Docker CLI, Docker Compose và GUI quản lý.
- Truy cập docker.com/products/docker-desktop
- Chọn bản phù hợp: Intel chip hoặc Apple Silicon (M1/M2/M3)
- Tải file
.dmg, mở và kéo vào thư mụcApplications - Mở Docker Desktop từ Applications → chờ khởi động hoàn tất
- Đồng ý các điều khoản → hoàn tất!
Homebrew method
# Cài Docker Desktop qua Homebrew
brew install --cask docker
# Mở Docker Desktop
open /Applications/Docker.app
Lưu ý: Trên macOS, Docker chạy trong một Linux VM ẩn (Apple Virtualization framework). Điều này có nghĩa hiệu năng sẽ kém hơn Linux native một chút, nhưng vẫn rất tốt cho development.
Cài đặt trên Windows
Docker Desktop for Windows
- Tải Docker Desktop từ docker.com
- Chạy file
.exevừa tải - Trong quá trình cài đặt, chọn “Use WSL 2 instead of Hyper-V” (khuyến nghị)
- Khởi động lại máy tính khi được yêu cầu
- Mở Docker Desktop → chờ engine khởi động
Cấu hình WSL2 backend
Nếu chọn WSL2, cần bật tính năng này trước:
# Mở PowerShell với quyền Admin, chạy:
wsl --install
# Khởi động lại máy tính
# Sau khi restart, cài đặt Docker Desktop bình thường
WSL2 vs Hyper-V: WSL2 nhanh hơn, nhẹ hơn và tích hợp tốt hơn với Linux workflow. Luôn ưu tiên WSL2 trừ khi có lý do đặc biệt.
Verify trên Windows
# Mở PowerShell hoặc Command Prompt
docker version
docker run hello-world
Cấu hình sau cài đặt
Docker daemon config
File cấu hình daemon nằm tại /etc/docker/daemon.json (Linux) hoặc trong Docker Desktop Settings (macOS/Windows):
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}
Sau khi sửa file, restart daemon:
sudo systemctl restart docker
User permissions (Linux)
Mặc định, Docker cần quyền root. Để chạy Docker không cần sudo:
# Tạo docker group (thường đã có sẵn)
sudo groupadd docker
# Thêm user hiện tại vào group
sudo usermod -aG docker $USER
# Áp dụng thay đổi (hoặc logout/login lại)
newgrp docker
# Kiểm tra — chạy không cần sudo
docker run hello-world
Cảnh báo bảo mật: User trong docker group có quyền tương đương root. Chỉ thêm user tin cậy vào group này trên hệ thống production.
Kiểm tra cài đặt
Sau khi cài đặt xong trên bất kỳ nền tảng nào, chạy ba lệnh sau để xác nhận Docker hoạt động bình thường:
1. docker version
docker version
Hiển thị phiên bản Docker Engine (client và server). Nếu thấy cả hai phần — Docker đã kết nối thành công.
2. docker info
docker info
Hiển thị tổng quan hệ thống: số container, image, storage driver, runtime, v.v.
3. docker run hello-world
docker run hello-world
Lệnh này tự động pull image hello-world từ Docker Hub, tạo container và chạy. Nếu thấy thông điệp “Hello from Docker!” — chúc mừng, bạn đã cài đặt thành công!
Bảng so sánh
| Tiêu chí | Linux | macOS | Windows |
|---|---|---|---|
| Cách cài đặt | Package manager (apt/dnf/pacman) | Docker Desktop / Homebrew | Docker Desktop + WSL2 |
| Virtualization | Không cần — chạy native | Apple Virtualization (VM ẩn) | WSL2 hoặc Hyper-V |
| Hiệu năng | Tốt nhất (native) | Tốt (có overhead nhẹ) | Tốt (WSL2) / Trung bình (Hyper-V) |
| File sharing | Native filesystem | gRPC-FUSE / VirtioFS | 9P protocol qua WSL2 |
| GUI | Không có (CLI only) | Docker Desktop Dashboard | Docker Desktop Dashboard |
| Phù hợp cho | Server, Production, Dev | Developer macOS | Developer Windows |
| Khó khăn phổ biến | Quyền user, firewall | RAM usage cao | WSL2 config, path mapping |
Best Practices
- Luôn cài từ nguồn chính thức — dùng repository của Docker, không cài từ nguồn không rõ ràng. Tránh phiên bản cũ hoặc bị sửa đổi.
- Giữ Docker cập nhật — chạy
sudo apt-get upgrade docker-ce(Linux) hoặc kiểm tra update trong Docker Desktop. Mỗi bản mới đều có security patch. - Dùng WSL2 trên Windows — nhanh hơn Hyper-V, tích hợp tốt hơn với Linux tools. Nếu dùng VS Code, cài extension “Remote – WSL” để làm việc trực tiếp trong WSL.
- Cấu hình log rotation — thêm
log-optstrongdaemon.jsonđể tránh log chiếm hết disk. - Không chạy container với quyền root — trong Dockerfile, dùng
USER nonroottrướcENTRYPOINT.
Tổng kết
Bạn đã cài đặt Docker thành công trên nền tảng của mình. Dù là Linux server, MacBook hay Windows PC — Docker đều hoạt động mượt mà. Bây giờ bạn đã sẵn sàng chạy container đầu tiên!
Bước tiếp theo
👉 Bài tiếp theo: Docker Hello World: Container đầu tiên của bạn
Trong bài tiếp theo, chúng ta sẽ chạy container đầu tiên, hiểu cách Docker pull image, và thực hành các lệnh cơ bản nhất. Hẹn gặp lại!