Nếu bạn đã hiểu Docker là gì và muốn bắt đầu thực hành trên VPS, bước tiếp theo là cài Docker đúng cách. Tôi khuyên bạn dùng repository chính thức của Docker thay vì cài bản quá cũ từ repo mặc định của Ubuntu, vì cách này dễ cập nhật và ổn định hơn về sau.
Trong bài này, tôi sẽ đi theo hướng an toàn cho người mới: cài Docker Engine trên Ubuntu, kiểm tra service, chạy container thử đầu tiên và nói luôn những lỗi hay gặp. Nếu bạn chưa rõ Docker dùng để làm gì trên máy chủ ảo, nên đọc trước Docker là gì trên VPS.

Trước khi cài Docker trên VPS Ubuntu, bạn cần chuẩn bị gì?
Trước hết, bạn cần một VPS Ubuntu còn hoạt động bình thường, đăng nhập được qua SSH và có user có quyền sudo. Nếu đây là VPS mới, tôi khuyên nên làm các bước nền trước như bảo mật VPS Ubuntu, tạo SSH key và cấu hình UFW.
Bạn cũng nên kiểm tra tài nguyên VPS, nhất là RAM và dung lượng ổ đĩa, vì sau này Docker image và volume sẽ chiếm chỗ đáng kể. Nếu chưa rõ VPS của mình đủ mạnh hay chưa, hãy xem cách kiểm tra RAM CPU VPS.
Bước 1: cập nhật hệ thống Ubuntu
Kết nối vào VPS qua SSH rồi chạy:
sudo apt update
sudo apt upgrade -y
Bước này giúp hệ thống lấy danh sách package mới nhất và cập nhật các thành phần đang có. Tôi không khuyên bỏ qua vì nhiều lỗi phụ thuộc, GPG key hoặc package cũ thường bắt đầu từ đây.
Bước 2: cài các gói phụ trợ cần thiết
sudo apt install -y ca-certificates curl gnupg
Các gói này được dùng để tải khóa ký số và làm việc với repository chính thức của Docker. Trên Ubuntu mới, có máy đã có sẵn một phần, nhưng cứ cài đủ cho chắc.
Bước 3: thêm GPG key và repository chính thức của Docker
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
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
Khi thêm repo chính thức, bạn sẽ nhận được bản Docker Engine, Docker CLI và plugin Compose mới hơn, đồng đều hơn. Đây là cách tôi khuyên dùng nếu VPS của bạn phục vụ deploy app thật.
Bước 4: cập nhật lại package list và cài Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Sau bước này, Ubuntu sẽ cài các thành phần cốt lõi gồm Docker Engine, CLI, containerd, Buildx và Docker Compose plugin. Đây là bộ đủ tốt cho hầu hết nhu cầu blog, website, API hoặc tool automation trên VPS.

Bước 5: kiểm tra Docker đã hoạt động chưa
Chạy các lệnh sau:
sudo systemctl status docker
sudo docker version
sudo docker run hello-world
Nếu service đang chạy và container hello-world in ra thông báo thành công, bạn đã cài Docker ổn. Đây là bước xác nhận rất quan trọng, vì nhiều người cài xong nhưng chưa test nên tới lúc deploy mới phát hiện lỗi.
Bước 6: cho Docker tự khởi động cùng hệ thống
sudo systemctl enable docker
Lệnh này giúp Docker service tự bật lại sau khi VPS reboot. Với môi trường production hoặc VPS chạy ứng dụng lâu dài, bạn gần như luôn nên bật.
Bước 7: có nên chạy Docker không cần sudo?
Nếu bạn muốn user hiện tại dùng Docker mà không cần gõ sudo mỗi lần, có thể thêm user vào group docker:
sudo usermod -aG docker $USER
Sau đó đăng xuất và đăng nhập lại. Tuy nhiên, bạn nên hiểu rằng quyền dùng Docker khá mạnh, gần tương đương quyền cao trên máy. Nếu VPS có nhiều user, hãy cân nhắc kỹ trước khi mở quyền này.
Những lỗi thường gặp khi cài Docker trên VPS Ubuntu
Một lỗi phổ biến là repository chưa thêm đúng vì sai codename Ubuntu hoặc lỗi GPG key. Ngoài ra, nếu hệ thống đang thiếu dung lượng, package có thể cài nửa chừng rồi fail. Trường hợp VPS có firewall hoặc policy nội bộ quá chặt, việc pull image cũng có thể chậm hoặc lỗi DNS.
Bạn cũng nên phân biệt rõ giữa cài Docker thành công và app chạy được trong Docker. Hai việc này khác nhau. Docker Engine có thể hoạt động ổn, nhưng container app vẫn lỗi nếu image sai, port sai, volume sai hoặc biến môi trường thiếu.
Sau khi cài Docker, bạn nên làm gì tiếp?
Ngay sau khi cài xong, tôi khuyên bạn làm 3 việc. Thứ nhất, chạy thử một container mẫu để quen với vòng đời image và container. Thứ hai, học Docker Compose để quản lý nhiều service cùng lúc. Thứ ba, hiểu cách map port, mount volume và xem log container.
Nếu bạn muốn đi tiếp theo lộ trình dễ hiểu, hãy bắt đầu với:
- đọc bài Docker là gì trên VPS nếu bạn chưa nắm khái niệm;
- học tiếp Docker Compose để gom nhiều service;
- thử deploy một app nhỏ trên VPS trước khi đưa website quan trọng vào.
Docker trên VPS Ubuntu có phù hợp cho người mới không?
Có, nếu bạn chấp nhận học từng bước. Người mới không nên lao ngay vào stack quá phức tạp. Hãy cài Docker, chạy hello-world, pull một image đơn giản, sau đó mới tới Docker Compose và reverse proxy. Đi chậm một chút nhưng hiểu chắc sẽ an toàn hơn rất nhiều.
Nếu bạn chưa có server để thực hành hoặc muốn nâng cấp lên cấu hình ổn hơn cho app và container, bạn có thể tham khảo dịch vụ VPS tại VPSZET và đối chiếu thêm với bài thuê VPS giá rẻ cần lưu ý gì.
Câu hỏi thường gặp khi cài Docker trên VPS Ubuntu
Nên cài Docker từ repo mặc định hay repo chính thức?
Với VPS dùng thật, tôi khuyên dùng repo chính thức của Docker để dễ cập nhật và ít bị chậm version hơn.
Docker Compose có được cài cùng luôn không?
Có. Khi bạn cài docker-compose-plugin, Compose sẽ hoạt động dưới dạng docker compose.
Cài Docker có làm VPS chậm đi không?
Docker tự nó không làm VPS chậm đáng kể. Điều quan trọng là số container bạn chạy, mức dùng CPU, RAM, disk I/O và cách tối ưu app bên trong.
Có bắt buộc phải mở port sau khi cài Docker không?
Không phải lúc nào cũng cần, nhưng nếu bạn publish container ra ngoài thì cần hiểu cách map port và firewall. Khi đó bạn có thể đọc thêm bài mở port trên VPS Ubuntu.
Docker có phù hợp để chạy WordPress không?
Có thể, nhưng với người mới tôi vẫn khuyên thử trên môi trường test trước rồi mới đưa website thật vào Docker.

