Cài đặt Docker: Linux, macOS và Windows

Photo of author

Văn Ngọc Tân

Cài đặt Docker: Linux, macOS và Windows

Terminal và dòng lệnh — cài đặt Docker trên mọi nền tảng
Cài đặt Docker — bước đầu tiên để làm chủ containerization

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
Mạch điện tử công nghệ — hạ tầng hiện đại với Docker container
Docker chạy trên mọi nền tảng — từ server Linux đến laptop macOS và Windows

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ục Applications
  • 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 .exe vừ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íLinuxmacOSWindows
Cách cài đặtPackage manager (apt/dnf/pacman)Docker Desktop / HomebrewDocker Desktop + WSL2
VirtualizationKhông cần — chạy nativeApple Virtualization (VM ẩn)WSL2 hoặc Hyper-V
Hiệu năngTốt nhất (native)Tốt (có overhead nhẹ)Tốt (WSL2) / Trung bình (Hyper-V)
File sharingNative filesystemgRPC-FUSE / VirtioFS9P protocol qua WSL2
GUIKhông có (CLI only)Docker Desktop DashboardDocker Desktop Dashboard
Phù hợp choServer, Production, DevDeveloper macOSDeveloper Windows
Khó khăn phổ biếnQuyền user, firewallRAM usage caoWSL2 config, path mapping

Best Practices

  1. 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.
  2. 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.
  3. 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.
  4. Cấu hình log rotation — thêm log-opts trong daemon.json để tránh log chiếm hết disk.
  5. Không chạy container với quyền root — trong Dockerfile, dùng USER nonroot trước ENTRYPOINT.

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!

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận