EQVPS

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

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

Docker یک اپ و هر چیزی که نیاز دارد را در یک کانتینر بسته‌بندی می‌کند که همه‌جا یکسان اجرا می‌شود — تمیزترین راه برای self-host کردن سرویس‌ها روی یک VPS. تنها نکته روی Ubuntu و Debian این است که نسخه موجود در مخزن خود توزیع اغلب قدیمی است و بدون پلاگین مدرن Compose عرضه می‌شود. به‌جای آن از مخزن رسمی Docker نصب کنید. کل فرایند اینجاست.

۱. مخزن رسمی Docker را راه‌اندازی کنید (Ubuntu)

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

۲. Docker Engine و Compose را نصب کنید

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

۳. تأیید کنید که در حال اجراست و در بوت فعال است

sudo systemctl enable --now docker
sudo docker run --rm hello-world

کانتینر hello-world دانلود می‌شود، یک پیام موفقیت چاپ می‌کند و خارج می‌شود — اثباتی که موتور کار می‌کند.

۴. (اختیاری) Docker را بدون sudo اجرا کنید

sudo usermod -aG docker $USER
# برای اعمال شدن گروه، خارج و دوباره وارد شوید

این کار را فقط برای کاربری که به او اعتماد دارید انجام دهید — دسترسی گروه docker عملاً معادل root روی میزبان است.

یک کانتینر واقعی سریع

docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# به http://YOUR.SERVER.IP:8080 سر بزنید

--restart unless-stopped همان چیزی است که کانتینر را پس از ریبوت بازمی‌گرداند.

هشدارهای صادقانه

گام‌های بعدی

با نصب Docker می‌توانید تقریباً هر چیزی را self-host کنید. self-host کردن چند سرویس پشت یک IP، یا ساخت‌های مشخص Docker مانند یک سرور دسکتاپ راه‌دور RustDesk و پایش Uptime Kuma را ببینید. برای قرار دادن یک دامنه و HTTPS جلوی آن، چگونه یک reverse proxy با nginx راه بیندازیم را ببینید.

پرسش‌های متداول

باید از 'apt install docker.io' استفاده کنم یا از مخزن Docker؟

برای یک نسخه به‌روز، از مخزن رسمی Docker استفاده کنید (گام‌های زیر). بسته docker.io توزیع راحت است اما اغلب عقب می‌ماند، و پلاگین مدرن 'docker compose' با بسته‌های رسمی عرضه می‌شود. اگر فقط یک سرور یک‌بارمصرف نیاز دارید، docker.io هم کار می‌کند.

تفاوت 'docker compose' و 'docker-compose' چیست؟

'docker-compose' قدیمی یک ابزار جداگانه پایتون بود (با خط تیره). ابزار فعلی 'docker compose' است (با فاصله) — یک پلاگین همراه با Docker. از پلاگین استفاده کنید؛ ابزار مستقل قدیمی است. با نصب docker-compose-plugin طبق راهنما، آن را دریافت می‌کنید.

چطور Docker را بدون تایپ sudo هر بار اجرا کنم؟

کاربرتان را به گروه docker اضافه کنید: 'sudo usermod -aG docker $USER'، سپس خارج و دوباره وارد شوید. توجه داشته باشید این عملاً دسترسی هم‌ارز root از طریق کانتینرها می‌دهد، پس فقط برای یک کاربر مورد اعتماد روی سرور خودتان این کار را انجام دهید.

Docker چقدر RAM نیاز دارد؟

خود Docker سبک است؛ آنچه اهمیت دارد کانتینرهایی است که اجرا می‌کنید. یک یا دو اپ کوچک به‌راحتی روی یک سرور ۱ گیگابایتی جا می‌شود، در حالی که استک‌های سنگین‌تر (پایگاه‌داده، چند سرویس) به فضای بیشتری نیاز دارند. VPS را متناسب با بار کاری اندازه کنید، نه با خود Docker.

آیا کانتینرهایم پس از ریبوت باقی می‌مانند؟

فقط اگر به آن‌ها بگویید. سرویس Docker با گام‌های زیر برای بوت فعال می‌شود، و کانتینرهایی که با '--restart unless-stopped' (یا همان سیاست در Compose) شروع شده‌اند خودکار بازمی‌گردند. بدون یک سیاست restart، یک کانتینر پس از ریبوت خاموش می‌ماند.

نظرات

هنوز نظری نیست. اولین نفر باشید.

یک نظر بگذارید

نظرات پیش از نمایش بررسی می‌شوند.