متغیرهای محیطی #
پیشنهاد میشود برای تعریف متغیرهای مخصوص کاربر یا ماشین، یک فایل محلی .env ایجاد کنید (برای اطلاعات بیشتر، به مستندات Docker درباره env files مراجعه کنید). ساختار نوشتن آن ساده است؛ مثلاً HTTP_PORT=۸۰۰۰
همچنین میتوانید متغیرهای محیطی را با همین ساختار مستقیماً در shell تنظیم کنید و سپس از docker-compose استفاده کنید.
- DB_PORT
- HTTP_PORT
- HTTPS_PORT
- DB_URL (مثلاً http://internal.yourcompany.com/۵.۷.sql)
پایگاهدادههای از پیش آمادهشده و config.php در TestRail #
با استفاده از DB_URL variable ، میتوانید یک SQL dump هم معرفی کنید تا کانتینر آن را دانلود کند و TestRail از قبل پیکربندی شده باشد. برای عملکرد درست، فایل config.php باید در دسترس باشد. کافی است آن را در _config کپی کنید. مطمئن شوید مقادیر موجود در فایل config.php با تنظیمات پایگاهداده برای user و password که در فایل Compose مربوط به db مشخص شدهاند، مطابقت داشته باشند.
استفاده از فایلهای Compose #
استفاده عمومی #
docker-compose up
docker-compose down
آرگومان up کانتینر را راهاندازی میکند؛ در حالی که down همهچیز را متوقف میکند. مرجع docker-compose CLI را میتوانید اینجا ببینید.
گزینههای مفید دیگر: #
| گزینه | توضیح |
|---|---|
-v (حذف volumeهای نامگذاریشده) |
این گزینه برای حذف volumeهای موقت پس از متوقف کردن سرویسها مهم است و استفاده از آن توصیه میشود. اگر نمیخواهید volumeها پاک شوند، از این پارامتر استفاده نکنید. با این حال، توجه داشته باشید که باقی ماندن volumeها همچنان میتواند پیامدهای جانبی داشته باشد. |
-f (file) |
میتوانید از آن برای مشخص کردن یک فایل Compose متفاوت استفاده کنید (بهصورت پیشفرض از docker-compose.yml استفاده میشود) |
-p (project) |
اگر قرار است چند instance از TestRail راهاندازی شود، این گزینه لازم است. در غیر این صورت، docker-compose با یک کانتینر که از قبل در حال اجراست، کار میکند. |
نام پوشهای که docker-compose از داخل آن اجرا میشود (در این مثال internal-docker)، بهعنوان نام project استفاده میشود و به ابتدای نام همه کانتینرهای ایجادشده اضافه میشود.
توصیه: از docker-compose down -v استفاده کنید، چون volumeهای نامگذاریشده و بینام را حذف میکند!
نکات کلی درباره فایلهای Compose #
- همه فایلهای Compose به volumeهای اضافی وابستهاند:
-
testrail_rootشامل فایلهای نصب است و در مسیر زیر mount میشود/var/www/testrail -
testrail_optشامل فایلهای آپلودشده و موارد مشابه است و در مسیر زیر mount میشود/opt/testrail -
testrail_dbشامل database است و در مسیر زیر mount میشود/var/lib/mysql. -
testrail_configشامل فایل config.php است؛ این فایل TestRail را پیکربندی میکند و در مسیر زیر mount میشود/var/www/testrail/config
containerها از طریق یک testrail bridged network به هم متصل میشوند. ترتیب راهاندازی مهم است: PHP باید اول اجرا شود و بعد webserver و DB.

