OffshoreVps
آموزش‌ها12 اکتبر 20267 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

چگونه Docker و Docker Compose را روی VPS اوبونتو نصب کنیم

Docker Engine را از مخزن رسمی نصب کنید، بدون sudo اجرایش کنید، اولین سرویس Compose را راه بیندازید و از تله‌ی فایروال که پورت‌ها را در معرض دید قرار می‌دهد دوری کنید.

Docker به شما اجازه می‌دهد پایگاه‌های داده، برنامه‌های وب و ابزارها را در کانتینرهای ایزوله اجرا کنید، بنابراین نصب چیزی جدید هرگز بقیهٔ سرور شما را به هم نمی‌ریزد. این راهنما Docker Engine و Docker Compose را روی Ubuntu نصب می‌کند و اولین سرویس واقعی را اجرا می‌کند.

پنجره‌ی ترمینال روی یک VPS که دستورهای نصب Docker روی VPS اوبونتو را نشان می‌دهد، با «sudo apt update» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

1. نصب از مخزن 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

نصب را با sudo docker run hello-world بررسی کنید.

2. اجرای Docker بدون sudo

sudo usermod -aG docker $USER
newgrp docker

اعضای گروه docker عملاً توان سطح root روی ماشین دارند، پس فقط کاربرانی را اضافه کنید که به آن‌ها اعتماد دارید.

3. اولین فایل Compose شما

یک پوشه و یک فایل compose.yaml بسازید که ابزار پایش 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

اتصال به 127.0.0.1 پورت را از اینترنت عمومی دور نگه می‌دارد. وقتی می‌خواهید از بیرون به آن دسترسی داشته باشید، یک پروکسی معکوس مانند Nginx یا Caddy جلوی آن بگذارید.

گام‌های این راهنما به ترتیب: ۱. ۱. نصب از مخزن Docker؛ ۲. ۲. اجرای Docker بدون sudo؛ ۳. ۳. اولین فایل Compose شما؛ ۴. دستورهای روزمره؛ ۵. هشدار امنیتی درباره‌ی فایروال‌ها؛ ۶. بعد چه چیزی اجرا کنیم
گام‌های این راهنما به ترتیب.

دستورهای روزمره

  • docker ps کانتینرهای در حال اجرا را فهرست می‌کند.
  • docker compose logs -f لاگ‌ها را دنبال می‌کند.
  • docker compose pull && docker compose up -d به ایمیج‌های جدیدتر به‌روزرسانی می‌کند.
  • docker system prune ایمیج‌های بلااستفاده و کانتینرهای متوقف‌شده را حذف می‌کند.

یک هشدار امنیتی دربارهٔ فایروال‌ها

Docker قوانین iptables خودش را می‌نویسد. پورتی که به صورت "8080:80" منتشر شده، حتی اگر UFW بگوید مسدود است، ممکن است از اینترنت در دسترس باشد. فقط آنچه باید عمومی باشد را منتشر کنید، سرویس‌های خصوصی را به 127.0.0.1 متصل کنید و از بیرون با یک اسکنر پورت آزمایش کنید.

بعد چه اجرا کنیم

برنامه‌های خودمیزبان محبوب شامل Nextcloud، Vaultwarden، Gitea، Plausible، n8n و Jellyfin هستند. برای یک نمونهٔ کامل، راهنمای ما دربارهٔ میزبانی شخصی Nextcloud را ببینید.