OffshoreVps
Bài hướng dẫn12 thg 10 20267 phút đọcBởi đội ngũ OffshoreVps

Cách cài Docker và Docker Compose trên VPS Ubuntu

Cài Docker Engine từ kho chính thức, chạy không cần sudo, khởi chạy dịch vụ Compose đầu tiên và tránh cái bẫy tường lửa làm lộ cổng.

Docker cho phép bạn chạy cơ sở dữ liệu, ứng dụng web và công cụ trong các container cô lập, nên việc cài đặt thứ gì mới không bao giờ làm hỏng phần còn lại của máy chủ. Hướng dẫn này cài Docker Engine và Docker Compose trên Ubuntu và chạy một dịch vụ thật đầu tiên.

Cửa sổ terminal trên VPS hiển thị các lệnh dùng để cài Docker trên VPS Ubuntu, bắt đầu bằng “sudo apt update”
Loại lệnh bạn sẽ chạy trên máy chủ của mình trong hướng dẫn này.

1. Cài đặt từ kho của Docker

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/ubuntu/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/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Kiểm tra bản cài đặt bằng sudo docker run hello-world.

2. Chạy Docker không cần sudo

sudo usermod -aG docker $USER
newgrp docker

Thành viên của nhóm docker thực chất có quyền lực ngang root trên máy, vì vậy chỉ thêm những người dùng bạn tin tưởng.

3. Tệp Compose đầu tiên của bạn

Tạo một thư mục và một tệp compose.yaml chạy công cụ giám sát Uptime Kuma:

mkdir -p ~/kuma && cd ~/kuma
cat > compose.yaml <<'EOF'
services:
  kuma:
    image: louislam/uptime-kuma:1
    restart: unless-stopped
    ports:
      - "127.0.0.1:3001:3001"
    volumes:
      - ./data:/app/data
EOF
docker compose up -d

Việc gắn vào 127.0.0.1 giữ cổng này không lộ ra internet công cộng. Hãy đặt một reverse proxy như Nginx hoặc Caddy phía trước khi bạn muốn truy cập từ bên ngoài.

Các bước của hướng dẫn này theo thứ tự: 1. 1. Cài từ kho lưu trữ của Docker; 2. 2. Chạy Docker không cần sudo; 3. 3. Tệp Compose đầu tiên của bạn; 4. Các lệnh hằng ngày; 5. Cảnh báo bảo mật về tường lửa; 6. Nên chạy gì tiếp theo
Các bước trong hướng dẫn này, theo thứ tự.

Các lệnh dùng hằng ngày

  • docker ps liệt kê các container đang chạy.
  • docker compose logs -f theo dõi nhật ký.
  • docker compose pull && docker compose up -d cập nhật lên image mới hơn.
  • docker system prune xóa các image không dùng và container đã dừng.

Cảnh báo bảo mật về tường lửa

Docker tự ghi các quy tắc iptables riêng. Một cổng được công bố dưới dạng "8080:80" có thể truy cập được từ internet ngay cả khi UFW báo là đã chặn. Chỉ công bố những gì thực sự phải công khai, gắn các dịch vụ riêng tư vào 127.0.0.1 và kiểm tra từ bên ngoài bằng một trình quét cổng.

Nên chạy gì tiếp theo

Các ứng dụng tự lưu trữ phổ biến gồm Nextcloud, Vaultwarden, Gitea, Plausible, n8n và Jellyfin. Xem hướng dẫn tự lưu trữ Nextcloud của chúng tôi để có một ví dụ đầy đủ.