Đang tải…
Flag
VN Tiếng Việt
EN English
ZH 简体中文
KO 한국어
JA 日本語
Dùng thử VPS

Cài Docker và Docker Compose trên Ubuntu 22.04 (kèm lưu ý tường lửa)

Hướng dẫn 2026-11-06 13:31:40 1 lượt xem

Cài Docker trên VPS Ubuntu giúp bạn chạy ứng dụng trong container: cài nhanh, chạy giống nhau ở mọi máy, dễ nâng cấp và gỡ bỏ. Bài viết hướng dẫn cài Docker và Docker Compose từ kho chính thức trên Ubuntu 22.04, chạy thử một ứng dụng và lưu ý quan trọng về tường lửa.

Chuẩn bị

  • VPS Ubuntu 22.04 (hoặc 24.04), tối thiểu 1 GB RAM; nên 2 GB trở lên nếu chạy nhiều container.
  • Đăng nhập SSH bằng root hoặc tài khoản có sudo. Xem hướng dẫn kết nối SSH.

Bước 1: Thêm kho cài đặt chính thức của Docker

apt update
apt install ca-certificates curl -y
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
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/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update

Kho chính thức luôn có bản Docker mới hơn bản trong kho mặc định của Ubuntu.

Bước 2: Cài Docker Engine và Compose

apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
systemctl enable --now docker
docker --version
docker compose version

Chạy thử:

docker run --rm hello-world

Thấy dòng "Hello from Docker!" là Docker đã chạy.

Dùng Docker không cần sudo (tuỳ chọn)

usermod -aG docker tentaikhoan

Đăng xuất rồi đăng nhập lại để có hiệu lực. Lưu ý: thành viên nhóm docker có quyền tương đương root, chỉ thêm tài khoản bạn tin tưởng.

Bước 3: Chạy ứng dụng bằng Docker Compose

Ví dụ chạy một trang Nginx đơn giản. Tạo thư mục và file compose.yaml:

mkdir -p ~/web && cd ~/web
nano compose.yaml
services:
  web:
    image: nginx:stable
    ports:
      - "127.0.0.1:8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped
mkdir html && echo "Xin chao tu Docker" > html/index.html
docker compose up -d
docker compose ps
curl http://127.0.0.1:8080

Các lệnh hay dùng:

  • docker compose logs -f: xem log.
  • docker compose pull && docker compose up -d: cập nhật lên image mới.
  • docker compose down: dừng và xoá container (dữ liệu trong volume vẫn giữ).

Lưu ý quan trọng: Docker và tường lửa UFW

Docker tự thêm quy tắc iptables khi bạn công bố cổng (ports:). Vì vậy cổng công bố dạng "8080:80" sẽ mở ra Internet kể cả khi UFW đang chặn cổng đó. Cách an toàn:

  • Chỉ công bố ra 127.0.0.1 như ví dụ trên ("127.0.0.1:8080:80"), rồi để Nginx trên máy làm reverse proxy ra ngoài cổng 80/443.
  • Cơ sở dữ liệu (MySQL, PostgreSQL, Redis) trong container không cần công bố cổng: các container trong cùng file Compose tự kết nối với nhau qua tên dịch vụ.
  • Kiểm tra cổng nào đang mở từ bên ngoài bằng công cụ kiểm tra port.

Dọn dẹp dung lượng

Image và container cũ chiếm dung lượng dần theo thời gian:

docker system df          # xem dung lượng
docker image prune -a     # xoá image không còn dùng

Câu hỏi thường gặp

Docker có chạy trên VPS Windows không?

Docker Desktop dành cho máy tính cá nhân; trên máy chủ, Docker dùng tốt và phổ biến nhất trên Linux. Nếu cần Docker, hãy chọn VPS Linux.

Khởi động lại VPS thì container có tự chạy lại không?

Có, nếu dịch vụ Docker được bật khi khởi động (systemctl enable docker) và container có restart: unless-stopped như ví dụ.

Kết luận

Với Docker và Docker Compose, bạn triển khai ứng dụng trên VPS chỉ bằng một file cấu hình. Nhớ công bố cổng ra 127.0.0.1 để không vô tình mở cổng ra Internet. Cần VPS chạy Docker? Xem các gói Cloud VPS có sẵn Ubuntu.


Bạn thấy bài viết này hữu ích?

Chia sẻ lên Facebook

Liên hệ hỗ trợ

Chọn kênh liên hệ phù hợp với bạn

Đang trực tuyến

Telegram

Nhắn tin nhanh qua Telegram

Zalo

Zalo

Chat trực tiếp qua Zalo