چگونه حافظه بیشتری به کانتینر داکر اختصاص دهیم؟
برای تخصیص حافظه بیشتر ابتدا باید به تنظیمات ماشین مجازی که داکر بر روی آن اجرا میشود، را بررسی کنیم. اگر از Docker Desktop استفاده میکنید، میتوانید به راحتی با کلیک بر روی آیکون دلفین 🐳 در نوار وظیفه به بخش Preferences رفته و سپس به قسمت Advanced بروید. اینجا شما میتوانید حداکثر حافظهای که داکر میتواند استفاده کند را افزایش دهید.
اگر از VirtualBox استفاده میکنید، میتوانید به روش زیر عمل کنید:
- VirtualBox را باز کرده و ماشین مجازی داکر را انتخاب کنید.
- بر روی Settings کلیک کنید و سپس به تب System بروید.
- مقدار حافظه (RAM) کانتینر را براساس نیاز خود تنظیم کنید.
بهعنوان مثال، در خط فرمان میتوانید از دستورات زیر استفاده کنید تا مقدار RAM مربوط به ماشین مجازی را در VirtualBox تغییر دهید:
docker-machine stop
VBoxManage modifyvm default --cpus 2
VBoxManage modifyvm default --memory 4096
docker-machine start
پس از اعمال تغییرات، اطمینان حاصل کنید که داکر را ریستارت کردهاید تا تغییرات بهروز شوند. سپس میتوانید کانتینر را با استفاده از پارامتر --memory
برای تعیین حافظه به شکل زیر اجرا کنید:
docker run -d --memory=4g --memory-swap=-1 -e MYSQL_PASSWORD=password -p 3307:3306 -p 8081:8080 aallam/tomcat-mysql
در صورت استفاده از WSL بعنوان بکند در ویندوز می توانید میزان حافظه را در تنظیمات WSL مشخص کنید. آدرس فایل تنظیمات به این صورت است %homepath%/.wslconfig
:
[wsl2]
memory=60GB
در صورت وجود نداشتن فایل می توانید آن را ایجاد کنید و بعد از تغییرات باید WSL را ری استارت کنید.
در صورتی که بعد از همه این مراحل، همچنان محدودیت حافظه را مشاهده میکنید، ممکن است نیاز باشد که تنظیمات داکر را دوباره بررسی کنید تا مطمئن شوید که تغییرات با موفقیت اعمال شدهاند و مقدار جدید حافظه برای کانتینر شما در نظر گرفته شده است.