اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

حل خطای docker: Error storage-opt is supported only for overlay

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    حل خطای docker: Error storage-opt is supported only for overlay

    من سرویس Docker را تحت استوریج overlay2 و با فایل سیستم XFS راه اندازی کردم، زمانیکه قصد دارم یک کانتینر با حجم دلخواه ایجاد کنم با خطای docker: Error response from daemon: --storage-opt is supported only for overlay over xfs with 'pquota' mount option مواجه شدم.
    کد PHP:
    root@docker:~# docker run -it --storage-opt size=250G debian /bin/bash
    dockerError response from daemon: --storage-opt is supported only for overlay over xfs with 'pquota' mount option.
    See 'docker run --help'

    docker Error storage-opt is supported only for overlay over xfs with pquota





    خطای بالا میگه storage-opt فقط روی حالت overlay در سیستم فایل xfs ساپورت میشه. برای حل مشکل باید دایرکتوری / سرور را با گزینه ی pqouta مانت کنیم تا استوریج quota را به ازای container فعال کنیم. ابتدا با دستور docker info چک کنید که Storage Driver برابر با overlay2 هست یا نه؟ و اینکه Backing Filesystem تون هم باید روی xfs باشه.
    کد PHP:
    Storage Driveroverlay2
    Backing Filesystem
    xfs 


    در صورتیکه Filesystem برابر با ext4 هستش که اینجا داستان داره و باید فایل سیستم تون رو به xfs فرمت کنید حتما. اما اگر همه چیز اوکی هست دستور mount رو بزنید و xfs رو grep کنید :
    کد PHP:
    # mount | grep xfs
    /dev/sda1 on type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32knoquota


    در خطی که مربوط به دایرکتوری / هست اگر در انتهای خروجی noquota زده بود یعنی quota روی این سیستم فعال نیست و اگر این quota فعال نباشه من نمیتونم بخشی از هارد دیسک را در اختیار کانتینری که میخوام ایجاد کنم بذارم.



    ابتدا یک بک آپ قبل از هر گونه تغییرات از سرور بگیرید. سپس برای فعال کردن quota فایل grub را از مسیر زیر باز کنید :
    کد PHP:
    # vim /etc/default/grub 


    خطی که نوشته GRUB_CMDLINE_LINUX="" را به صورت زیر تغییر بدید و rootflags=uquota,pquota رو بین دو تا کوتیشن قرار بدید :
    کد PHP:
    GRUB_CMDLINE_LINUX="rootflags=uquota,pquota" 


    برای اعمال تغییرات بنا بر نوع توزیع لینوکسی که دارید یکی از دستورات زیر را وارد کنید :

    روی Debian :
    کد PHP:
    # grub-mkconfig -o /boot/grub/grub.cfg 



    روی CentOS/Rocky Linux
    کد PHP:
    # grub2-mkconfig -o /boot/grub2/grub.cfg 



    در آخر سرور را جهت اعمال تغییرات reboot میکنیم. بعد از بالا آمدن سرور اگر مجددا دستور mount رو بزنید مشاهده میکنید که qouta روی دایرکتوری / شما فعال شده :
    کد PHP:
    # mount | grep xfs
    /dev/sda1 on type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32kusrquota,prjquota



    مجددا اگر دستور docker run جهت ایجاد کانتینر را وارد کنید، container شما با موفقیت ایجاد خواهد شد.
در حال انجام ...
X