راهنمای عملی نصب و پیکربندی Docker روی سرور لینوکس
دواپس و کلاد

راهنمای عملی نصب و پیکربندی Docker روی سرور لینوکس

داکر امروز پیش‌فرضِ استقرار سرویس‌ها روی سرورهای لینوکسی است. مسئله این نیست که آن را نصب کنید، مسئله این است که درست نصبش کنید؛ یعنی طوری که بعداً نه امنیت سرور را تهدید کند و نه دیسک را پر کند.

نصب موتور داکر

روی توزیع‌های مبتنی بر دبیان، مخزن رسمی داکر را اضافه کنید و از بسته‌های همان مخزن استفاده کنید. بسته‌ی داخل مخازن پیش‌فرض توزیع معمولاً چند نسخه عقب‌تر است.

curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
docker --version

کاربر غیر روت

افزودن کاربر به گروه docker کار را راحت می‌کند، اما عملاً به آن کاربر دسترسی هم‌ارز روت می‌دهد. اگر سرور چند کاربر دارد، به‌جای این کار از حالت rootless استفاده کنید.

sudo usermod -aG docker 
newgrp docker

سه تنظیم که فراموش می‌شوند

  • محدود کردن اندازه‌ی لاگ کانتینرها؛ بدون آن، لاگ‌های json به‌مرور کل دیسک را می‌خورند.
  • تعریف restart policy برای سرویس‌هایی که باید بعد از ری‌استارت سرور بالا بیایند.
  • اجرای دوره‌ای docker system prune برای پاک‌سازی ایمیج‌ها و لایه‌های بی‌استفاده.

برای محدود کردن لاگ، فایل /etc/docker/daemon.json را بسازید و درایور لاگ را با سقف مشخص تعریف کنید. این یک خط پیکربندی، بیشتر از هر اسکریپت مانیتورینگی جلوی پر شدن دیسک را می‌گیرد.

جمع‌بندی

یک نصب درست داکر سه ویژگی دارد: به‌روز است، با کاربر محدود کار می‌کند و لاگ و فضایش کنترل‌شده است. اگر این سه مورد را از روز اول رعایت کنید، سرورتان ماه‌ها بدون دردسر کار می‌کند.

اصل گیک

تحریریه‌ی ایران‌گیک؛ تمرکز روی راهنماهای فنی آزمایش‌شده و تحلیل خبرهای فناوری با نگاه کاربردی.

دیدگاه‌ها 3

  1. امیر کاظمی ۱۴۰۵/۰۶/۰۸

    برای سرور تک‌کاربره هم rootless را پیشنهاد می‌کنید یا همان گروه docker کافی است؟

    1. سردبیر ایران‌گیک ۱۴۰۵/۰۶/۰۸

      اگر واقعاً تنها کاربر سرور هستید، گروه docker مشکل عملی ایجاد نمی‌کند. اما به‌محض اینکه کاربر دومی اضافه شود، بهتر است سراغ rootless بروید.

  2. نگین شریفی ۱۴۰۵/۰۶/۰۸

    بخش محدود کردن اندازه‌ی لاگ را نمی‌دانستم. دیسک سرورمان دو بار به همین دلیل پر شده بود!

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نمی‌شود. بخش‌های ضروری با * مشخص شده‌اند.