Skip to content
VDS · Docker và container

Docker: cài đặt trên máy

Cách cài Docker đúng cách trên Debian, Ubuntu và AlmaLinux, vì sao kho chính thức tốt hơn gói hệ thống và cần kiểm tra gì ngay sau khi cài.

Cập nhật 23 tháng 8, 2026

Docker đóng gói ứng dụng cùng toàn bộ môi trường vào một container: bạn không cần khớp phiên bản thư viện, và chuyển sang máy khác chỉ đơn giản là sao chép một tệp cấu hình. Trên VDS có toàn quyền root, nó cài đặt như bình thường.

Cài đặt từ kho chính thức

Kho của hệ thống thường chứa phiên bản cũ hoặc docker.io không có plugin Compose v2. Sự khác biệt này rất quan trọng: một nửa hướng dẫn trên mạng được viết cho docker compose hiện đại, chứ không phải docker-compose.

Debian 12 và 13, Ubuntu 22.04 / 24.04 / 26.04:

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Với Ubuntu, thay debian bằng ubuntu ở hai chỗ.

AlmaLinux 9 và 10, CentOS Stream 9:

sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable --now docker

Kiểm tra cài đặt

docker --version
docker compose version
sudo docker run --rm hello-world
docker info | grep -E "Storage Driver|Cgroup|Docker Root Dir"

Nếu hello-world đã tải về và in lời chào, mọi thứ hoạt động. Storage driver phải là overlay2.

Làm việc không cần sudo

sudo usermod -aG docker $USER
newgrp docker

Nhóm docker tương đương với root. Bất kỳ ai trong nhóm đều có thể chạy container với root của máy chủ được gắn vào và trở thành quản trị viên. Chỉ thêm những người mà bạn vốn đã tin tưởng giao quyền root — và tuyệt đối không cấp quyền đó cho ứng dụng.

Những gì cần cấu hình ngay

Giới hạn log, nếu không một container nói nhiều sẽ ăn hết dung lượng đĩa của bạn. Tạo /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "20m", "max-file": "3" }
}
sudo systemctl restart docker

Chi tiết thêm — log container.

Tốn bao nhiêu dung lượng

Bản thân Docker khoảng 500 MB; image và volume sẽ tăng thêm từ đó. Trên VDS-1 với đĩa 40 GB, hai hoặc ba dịch vụ vừa đủ, nhưng bạn sẽ phải để mắt đến dung lượng: xem dung lượng đĩa.

Lỗi thường gặp

  • Bạn trộn lẫn docker.io và docker-ce. Trước tiên sudo apt remove docker.io docker-compose, rồi cài từ kho chính thức.
  • Docker mở một cổng bỏ qua tường lửa. Docker ghi các quy tắc iptables riêng, và ufw không thấy chúng. Công bố cổng trên giao diện cục bộ — -p 127.0.0.1:8080:80 — nếu bạn không cần mở nó ra ngoài. Chi tiết thêm trong Mạng Docker.
  • Bạn quên --now trong systemctl trên AlmaLinux. Dịch vụ được bật nhưng không khởi động; nó sẽ hoạt động sau khi khởi động lại, nhưng không phải ngay bây giờ.

Tiếp theo: Docker Compose và volume.