نسخه:

بادبان لاراول

معرفی

Laravel Sail یک رابط خط فرمان سبک وزن برای تعامل با محیط توسعه پیش فرض Docker لاراول است. Sail یک نقطه شروع عالی برای ساخت یک برنامه لاراول با استفاده از PHP، MySQL و Redis بدون نیاز به تجربه قبلی Docker فراهم می کند.

در قلب خود، Sail docker-compose.yml فایل و sail اسکریپتی است که در ریشه پروژه شما ذخیره می شود. این sail اسکریپت یک CLI با روش‌های راحت برای تعامل با کانتینرهای Docker تعریف شده توسط docker-compose.yml فایل ارائه می‌کند.

Laravel Sail در macOS، Linux و Windows (از طریق WSL2 ) پشتیبانی می‌شود.

نصب و راه اندازی

Laravel Sail به طور خودکار با تمام برنامه های جدید Laravel نصب می شود، بنابراین می توانید بلافاصله از آن استفاده کنید. برای یادگیری نحوه ایجاد یک برنامه جدید لاراول، لطفاً به اسناد نصب لاراول برای سیستم عامل خود مراجعه کنید. در حین نصب، از شما خواسته می شود که انتخاب کنید برنامه شما با کدام سرویس های پشتیبانی شده Sail تعامل داشته باشد.

نصب Sail در برنامه های موجود

اگر علاقه مند به استفاده از Sail با یک برنامه Laravel موجود هستید، می توانید به سادگی Sail را با استفاده از مدیریت بسته Composer نصب کنید. البته، این مراحل فرض می‌کنند که محیط توسعه محلی موجود شما به شما امکان می‌دهد وابستگی‌های Composer را نصب کنید:

composer require laravel/sail --dev

پس از نصب Sail، می توانید sail:install دستور Artisan را اجرا کنید. این دستور فایل Sail را docker-compose.yml در ریشه برنامه شما منتشر می کند و .env فایل شما را با متغیرهای محیطی مورد نیاز برای اتصال به سرویس های Docker تغییر می دهد:

php artisan sail:install

در نهایت، ممکن است بادبانی را شروع کنید. برای ادامه یادگیری نحوه استفاده از Sail، لطفاً به خواندن بقیه این مستندات ادامه دهید:

./vendor/bin/sail up

اگر از Docker Desktop برای لینوکس استفاده می کنید، باید default با اجرای دستور زیر از زمینه Docker استفاده کنید docker context use default :

افزودن خدمات اضافی

اگر می خواهید یک سرویس اضافی به نصب Sail موجود خود اضافه کنید، می توانید sail:add دستور Artisan را اجرا کنید:

php artisan sail:add

استفاده از Devcontainers

اگر می‌خواهید در یک Devcontainer توسعه دهید ، می‌توانید --devcontainer گزینه‌ای را برای sail:install فرمان ارائه دهید. این گزینه دستور انتشار یک فایل پیش فرض را در ریشه برنامه شما --devcontainer می دهد : sail:install .devcontainer/devcontainer.json

php artisan sail:install --devcontainer

بازسازی تصاویر بادبان

گاهی اوقات ممکن است بخواهید تصاویر Sail خود را به طور کامل بازسازی کنید تا مطمئن شوید که تمام بسته ها و نرم افزارهای تصویر به روز هستند. می توانید با استفاده از build دستور زیر این کار را انجام دهید:

docker compose down -v
 
sail build --no-cache
 
sail up

پیکربندی نام مستعار پوسته

به‌طور پیش‌فرض، دستورات Sail با استفاده از vendor/bin/sail اسکریپتی که در تمام برنامه‌های جدید لاراول گنجانده شده است، فراخوانی می‌شوند:

./vendor/bin/sail up

با این حال، به جای تایپ مکرر vendor/bin/sail برای اجرای دستورات Sail، ممکن است بخواهید یک نام مستعار پوسته را پیکربندی کنید که به شما امکان می دهد دستورات Sail را راحت تر اجرا کنید:

alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'

برای اطمینان از اینکه همیشه در دسترس است، می‌توانید آن را به فایل پیکربندی پوسته خود در فهرست اصلی خود، مانند ~/.zshrc یا اضافه کنید ~/.bashrc و سپس پوسته خود را مجدداً راه‌اندازی کنید.

هنگامی که نام مستعار پوسته پیکربندی شد، می‌توانید دستورات Sail را با تایپ کردن ساده اجرا کنید sail . بقیه مثال‌های این مستندات فرض می‌کنند که شما این نام مستعار را پیکربندی کرده‌اید:

sail up

شروع و توقف بادبان

فایل Laravel Sail docker-compose.yml انواع مختلفی از کانتینرهای Docker را تعریف می کند که با هم کار می کنند تا به شما در ساخت برنامه های لاراول کمک کنند. هر یک از این کانتینرها یک ورودی در services پیکربندی فایل شما هستند docker-compose.yml . کانتینر laravel.test کانتینر برنامه اولیه است که به برنامه شما سرویس می دهد.

قبل از شروع Sail، باید مطمئن شوید که هیچ سرور وب یا پایگاه داده دیگری بر روی رایانه محلی شما اجرا نمی شود. برای راه اندازی همه کانتینرهای Docker تعریف شده در docker-compose.yml فایل برنامه خود، باید این up دستور را اجرا کنید:

sail up

برای راه‌اندازی همه کانتینرهای Docker در پس‌زمینه، می‌توانید Sail را در حالت «جداشده» راه‌اندازی کنید:

sail up -d

هنگامی که کانتینرهای برنامه راه اندازی شد، می توانید به پروژه در مرورگر وب خود در آدرس زیر دسترسی داشته باشید: http://localhost .

برای متوقف کردن همه کانتینرها، می توانید به سادگی Control + C را فشار دهید تا اجرای کانتینر متوقف شود. یا اگر کانتینرها در پس‌زمینه اجرا می‌شوند، می‌توانید از stop دستور زیر استفاده کنید:

sail stop

اجرای دستورات

هنگام استفاده از Laravel Sail، برنامه شما در یک ظرف Docker اجرا می شود و از رایانه محلی شما جدا شده است. با این حال، Sail یک راه راحت برای اجرای دستورات مختلف در برابر برنامه شما مانند دستورات دلخواه PHP، دستورات Artisan، دستورات Composer و دستورات Node/NPM ارائه می‌کند.

هنگام خواندن اسناد لاراول، اغلب ارجاعاتی به دستورات Composer، Artisan و Node/NPM می بینید که به Sail اشاره نمی کنند. این مثال ها فرض می کنند که این ابزارها بر روی رایانه محلی شما نصب شده اند. اگر از Sail برای محیط توسعه Laravel محلی خود استفاده می کنید، باید آن دستورات را با استفاده از Sail اجرا کنید:

# Running Artisan commands locally...
php artisan queue:work
 
# Running Artisan commands within Laravel Sail...
sail artisan queue:work

اجرای دستورات PHP

دستورات PHP ممکن است با استفاده از php دستور اجرا شوند. البته این دستورات با استفاده از نسخه PHP که برای برنامه شما پیکربندی شده است اجرا می شوند. برای کسب اطلاعات بیشتر در مورد نسخه های PHP موجود برای Laravel Sail، به اسناد نسخه PHP مراجعه کنید :

sail php --version
 
sail php script.php

اجرای دستورات کامپوزر

دستورات Composer ممکن است با استفاده از دستور اجرا شوند composer . ظرف برنامه Laravel Sail شامل نصب Composer است:

sail composer require laravel/sanctum

نصب وابستگی های Composer برای برنامه های موجود

اگر در حال توسعه یک برنامه با یک تیم هستید، ممکن است شما کسی نباشید که در ابتدا برنامه لاراول را ایجاد می کند. بنابراین، هیچ یک از وابستگی های Composer برنامه، از جمله Sail، پس از کلون کردن مخزن برنامه در رایانه محلی خود نصب نمی شود.

می توانید با رفتن به فهرست برنامه و اجرای دستور زیر، وابستگی های برنامه را نصب کنید. این دستور از یک ظرف کوچک Docker حاوی PHP و Composer برای نصب وابستگی های برنامه استفاده می کند:

docker run --rm \
-u "$(id -u):$(id -g)" \
-v "$(pwd):/var/www/html" \
-w /var/www/html \
laravelsail/php83-composer:latest \
composer install --ignore-platform-reqs

هنگام استفاده از تصویر، باید از laravelsail/phpXX-composer همان نسخه PHP استفاده کنید که قصد دارید برای برنامه خود استفاده کنید ( 80 ،،،، یا ). 81 82 83

اجرای دستورات صنعتگر

دستورات Laravel Artisan ممکن است با استفاده از artisan دستور زیر اجرا شوند:

sail artisan queue:work

اجرای دستورات Node/NPM

دستورات Node ممکن است با استفاده از node دستور اجرا شوند در حالی که دستورات NPM ممکن است با استفاده از npm دستور اجرا شوند:

sail node --version
 
sail npm run dev

در صورت تمایل، می توانید از Yarn به جای NPM استفاده کنید:

sail yarn

تعامل با پایگاه های داده

MySQL

همانطور که ممکن است متوجه شده باشید، فایل برنامه شما docker-compose.yml حاوی ورودی برای یک ظرف MySQL است. این کانتینر از یک حجم Docker استفاده می کند تا داده های ذخیره شده در پایگاه داده شما حتی در هنگام توقف و راه اندازی مجدد کانتینرها همچنان باقی بماند.

علاوه بر این، اولین باری که کانتینر MySQL راه اندازی می شود، دو پایگاه داده برای شما ایجاد می کند. اولین پایگاه داده با استفاده از مقدار DB_DATABASE متغیر محیطی شما نامگذاری شده است و برای توسعه محلی شما است. دومی یک پایگاه داده آزمایشی اختصاصی است که نام دارد testing و تضمین می کند که آزمایشات شما با داده های توسعه شما تداخل نداشته باشد.

هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم DB_HOST متغیر محیطی در .env فایل برنامه خود به نمونه MySQL در برنامه خود متصل شوید mysql .

برای اتصال به پایگاه داده MySQL برنامه خود از دستگاه محلی خود، می توانید از یک برنامه مدیریت پایگاه داده گرافیکی مانند TablePlus استفاده کنید . به طور پیش فرض، پایگاه داده MySQL در localhost پورت 3306 قابل دسترسی است و اعتبار دسترسی با مقادیر متغیرهای شما DB_USERNAME و DB_PASSWORD محیط مطابقت دارد. یا ممکن است به عنوان root کاربر متصل شوید که از مقدار DB_PASSWORD متغیر محیطی شما به عنوان رمز عبور خود نیز استفاده می کند.

ردیس

فایل برنامه شما docker-compose.yml همچنین حاوی ورودی برای یک ظرف Redis است . این کانتینر از یک ولوم داکر استفاده می‌کند تا داده‌های ذخیره شده در داده‌های Redis شما حتی در زمان توقف و راه‌اندازی مجدد کانتینرها باقی بماند. هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم REDIS_HOST متغیر محیطی در .env فایل برنامه خود به نمونه Redis در برنامه خود متصل شوید redis .

برای اتصال به پایگاه داده Redis برنامه خود از دستگاه محلی خود، می توانید از یک برنامه مدیریت پایگاه داده گرافیکی مانند TablePlus استفاده کنید . به طور پیش فرض، پایگاه داده Redis در localhost پورت 6379 قابل دسترسی است.

Meilisearch

اگر هنگام نصب Sail، سرویس Meilisearch را نصب کنید ، فایل برنامه شما docker-compose.yml حاوی ورودی این موتور جستجوی قدرتمند است که با Laravel Scout سازگار است . هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم متغیر محیطی خود به نمونه Meilisearch در برنامه خود متصل شوید . MEILISEARCH_HOST http://meilisearch:7700

از دستگاه محلی خود، می‌توانید با پیمایش در مرورگر وب خود، به پانل مدیریت مبتنی بر وب Meilisearch دسترسی پیدا کنید http://localhost:7700 .

Typesense

اگر هنگام نصب Sail، سرویس Typesense را نصب کنید ، فایل برنامه شما docker-compose.yml حاوی ورودی برای این موتور جستجوی سریع برق آسا و منبع باز است که به طور بومی با Laravel Scout ادغام شده است . هنگامی که کانتینرهای خود را راه اندازی کردید، می توانید با تنظیم متغیرهای محیطی زیر به نمونه Typesense در برنامه خود متصل شوید:

TYPESENSE_HOST=typesense
TYPESENSE_PORT=8108
TYPESENSE_PROTOCOL=http
TYPESENSE_API_KEY=xyz

از دستگاه محلی خود، می توانید از طریق به API Typesense دسترسی داشته باشید http://localhost:8108 .

ذخیره سازی فایل

اگر قصد دارید از Amazon S3 برای ذخیره فایل ها در حین اجرای برنامه خود در محیط تولید آن استفاده کنید، ممکن است بخواهید هنگام نصب Sail، سرویس MinIO را نصب کنید. MinIO یک API سازگار با S3 ارائه می دهد که می توانید از آن برای توسعه محلی با استفاده از درایور ذخیره فایل لاراول s3 بدون ایجاد سطل های ذخیره سازی "تست" در محیط تولید S3 خود استفاده کنید. اگر هنگام نصب Sail، MinIO را نصب کنید، یک بخش پیکربندی MinIO به docker-compose.yml فایل برنامه شما اضافه خواهد شد.

به‌طور پیش‌فرض، فایل پیکربندی برنامه شما filesystems از قبل دارای پیکربندی دیسک برای s3 دیسک است. علاوه بر استفاده از این دیسک برای تعامل با آمازون S3، می‌توانید از آن برای تعامل با هر سرویس ذخیره‌سازی فایل سازگار با S3 مانند MinIO به سادگی با تغییر متغیرهای محیط مرتبط که پیکربندی آن را کنترل می‌کنند، استفاده کنید. به عنوان مثال، هنگام استفاده از MinIO، پیکربندی متغیر محیط فایل سیستم شما باید به صورت زیر تعریف شود:

FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=sail
AWS_SECRET_ACCESS_KEY=password
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=local
AWS_ENDPOINT=http://minio:9000
AWS_USE_PATH_STYLE_ENDPOINT=true

برای اینکه ادغام Flysystem لاراول URL های مناسبی را هنگام استفاده از MinIO ایجاد کند، باید AWS_URL متغیر محیطی را طوری تعریف کنید که با URL محلی برنامه شما مطابقت داشته باشد و نام سطل را در مسیر URL شامل شود:

AWS_URL=http://localhost:9000/local

می توانید از طریق کنسول MinIO که در دسترس است، سطل ایجاد کنید http://localhost:8900 . نام کاربری پیش‌فرض کنسول MinIO sail در حالی است که رمز عبور پیش‌فرض آن است password .

هنگام استفاده از MinIO ، ایجاد URLهای ذخیره موقت از طریق این temporaryUrl روش پشتیبانی نمی شود.

در حال اجرا تست ها

لاراول پشتیبانی آزمایشی فوق‌العاده‌ای را ارائه می‌کند، و می‌توانید از test دستور Sail برای اجرای ویژگی‌های برنامه‌ها و تست‌های واحد استفاده کنید . هر گزینه CLI که توسط Pest / PHPUnit پذیرفته می شود نیز ممکن است به دستور ارسال شود test :

sail test
 
sail test --group orders

دستور Sail test معادل اجرای test دستور Artisan است:

sail artisan test

به طور پیش فرض، Sail یک پایگاه داده اختصاصی ایجاد می کند testing تا آزمایشات شما با وضعیت فعلی پایگاه داده شما تداخل نداشته باشد. در نصب پیش‌فرض لاراول، Sail phpunit.xml فایل شما را برای استفاده از این پایگاه داده در هنگام اجرای آزمایش‌های شما پیکربندی می‌کند:

<env name="DB_DATABASE" value="testing"/>

Laravel Dusk

Laravel Dusk یک API آزمایشی و اتوماسیون مرورگر رسا و با استفاده آسان ارائه می دهد. به لطف Sail، می‌توانید این آزمایش‌ها را بدون نصب سلنیوم یا ابزارهای دیگر بر روی رایانه محلی خود اجرا کنید. برای شروع، سرویس Selenium را در docker-compose.yml فایل برنامه خود لغو نظر کنید:

selenium:
image: 'selenium/standalone-chrome'
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- '/dev/shm:/dev/shm'
networks:
- sail

در مرحله بعد، مطمئن شوید که laravel.test سرویس در فایل برنامه شما docker-compose.yml دارای depends_on ورودی برای selenium :

depends_on:
- mysql
- redis
- selenium

در نهایت، می توانید مجموعه تست Dusk خود را با راه اندازی Sail و اجرای dusk دستور زیر اجرا کنید:

sail dusk

سلنیوم روی سیلیکون اپل

اگر دستگاه محلی شما دارای تراشه سیلیکون اپل است، selenium سرویس شما باید از seleniarm/standalone-chromium تصویر استفاده کند:

selenium:
image: 'seleniarm/standalone-chromium'
extra_hosts:
- 'host.docker.internal:host-gateway'
volumes:
- '/dev/shm:/dev/shm'
networks:
- sail

پیش نمایش ایمیل ها

فایل پیش‌فرض Laravel Sail docker-compose.yml حاوی یک ورودی سرویس برای Mailpit است . Mailpit ایمیل های ارسال شده توسط برنامه شما را در طول توسعه محلی رهگیری می کند و یک رابط وب مناسب ارائه می دهد تا بتوانید پیام های ایمیل خود را در مرورگر خود پیش نمایش کنید. هنگام استفاده از Sail، میزبان پیش‌فرض Mailpit mailpit از طریق پورت 1025 در دسترس است:

MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_ENCRYPTION=null

هنگامی که Sail در حال اجرا است، می توانید به رابط وب Mailpit در آدرس زیر دسترسی داشته باشید: http://localhost:8025

کانتینر CLI

گاهی اوقات ممکن است بخواهید یک جلسه Bash را در ظرف برنامه خود شروع کنید. می توانید از shell دستور برای اتصال به کانتینر برنامه خود استفاده کنید و به شما امکان می دهد فایل ها و سرویس های نصب شده آن را بررسی کنید و همچنین دستورات پوسته دلخواه را در کانتینر اجرا کنید:

sail shell
 
sail root-shell

برای شروع یک جلسه Laravel Tinker جدید ، می توانید این tinker دستور را اجرا کنید:

sail tinker

نسخه های پی اچ پی

Sail در حال حاضر از ارائه برنامه شما از طریق PHP 8.3، 8.2، 8.1 یا PHP 8.0 پشتیبانی می کند. نسخه پیش فرض PHP مورد استفاده توسط Sail در حال حاضر PHP 8.3 است. برای تغییر نسخه PHP که برای ارائه برنامه شما استفاده می شود، باید build تعریف کانتینر را laravel.test در فایل برنامه خود به روز کنید docker-compose.yml :

# PHP 8.3
context: ./vendor/laravel/sail/runtimes/8.3
 
# PHP 8.2
context: ./vendor/laravel/sail/runtimes/8.2
 
# PHP 8.1
context: ./vendor/laravel/sail/runtimes/8.1
 
# PHP 8.0
context: ./vendor/laravel/sail/runtimes/8.0

علاوه بر این، ممکن است بخواهید image نام خود را به روز کنید تا منعکس کننده نسخه PHP مورد استفاده برنامه شما باشد. این گزینه نیز در فایل برنامه شما تعریف شده است docker-compose.yml :

image: sail-8.2/app

پس از به‌روزرسانی فایل برنامه docker-compose.yml ، باید تصاویر ظرف خود را دوباره بسازید:

sail build --no-cache
 
sail up

نسخه های گره

Sail Node 20 را به طور پیش فرض نصب می کند. برای تغییر نسخه Node که هنگام ساخت تصاویر شما نصب می شود، می توانید build.args تعریف laravel.test سرویس را در فایل برنامه خود به روز کنید docker-compose.yml :

build:
args:
WWWGROUP: '${WWWGROUP}'
NODE_VERSION: '18'

پس از به‌روزرسانی فایل برنامه docker-compose.yml ، باید تصاویر ظرف خود را دوباره بسازید:

sail build --no-cache
 
sail up

به اشتراک گذاری سایت شما

گاهی اوقات ممکن است نیاز داشته باشید که سایت خود را به صورت عمومی به اشتراک بگذارید تا پیش نمایش سایت خود را برای یک همکار انجام دهید یا یکپارچه سازی وب هوک را با برنامه خود آزمایش کنید. برای اشتراک گذاری سایت خود، می توانید از share دستور استفاده کنید. پس از اجرای این دستور، یک URL تصادفی برای شما صادر می شود laravel-sail.site که می توانید از آن برای دسترسی به برنامه خود استفاده کنید:

sail share

هنگامی که سایت خود را از طریق share دستور به اشتراک می گذارید، باید پراکسی های مورد اعتماد برنامه خود را با استفاده از trustProxies روش میان افزار موجود در فایل برنامه خود پیکربندی کنید bootstrap/app.php . در غیر این صورت، کمک‌کننده‌های تولید URL مانند url و route نمی‌توانند میزبان HTTP صحیحی را که باید در طول تولید URL استفاده شود، تعیین کنند:

->withMiddleware(function (Middleware $middleware) {
$middleware->trustProxies(at: [
'*',
]);
})

اگر می‌خواهید زیر دامنه‌ای را برای سایت اشتراک‌گذاری شده خود انتخاب کنید، می‌توانید subdomain هنگام اجرای share دستور این گزینه را ارائه دهید:

sail share --subdomain=my-sail-site

این share فرمان توسط Expose ، یک سرویس تونل‌سازی متن‌باز توسط BeyondCode ارائه می‌شود .

اشکال زدایی با Xdebug

پیکربندی Docker Laravel Sail شامل پشتیبانی از Xdebug ، یک دیباگر محبوب و قدرتمند برای PHP است. برای فعال کردن Xdebug، باید چند متغیر به .env فایل برنامه خود اضافه کنید تا Xdebug را پیکربندی کنید . برای فعال کردن Xdebug باید قبل از شروع Sail حالت(های) مناسب را تنظیم کنید:

SAIL_XDEBUG_MODE=develop,debug,coverage

پیکربندی IP میزبان لینوکس

در داخل، XDEBUG_CONFIG متغیر محیطی طوری تعریف شده است client_host=host.docker.internal که Xdebug به درستی برای مک و ویندوز (WSL2) پیکربندی شود. اگر دستگاه محلی شما لینوکس را اجرا می کند، باید مطمئن شوید که Docker Engine 17.06.0+ و Compose 1.16.0+ را اجرا می کنید. در غیر این صورت، باید به صورت دستی این متغیر محیطی را مطابق شکل زیر تعریف کنید.

ابتدا باید آدرس IP میزبان صحیح را برای افزودن به متغیر محیطی با اجرای دستور زیر تعیین کنید. به طور معمول، <container-name> باید نام کانتینری باشد که به برنامه شما ارائه می‌شود و اغلب با _laravel.test_1 :

docker inspect -f {{range.NetworkSettings.Networks}}{{.Gateway}}{{end}} <container-name>

پس از به دست آوردن آدرس IP میزبان صحیح، باید متغیر را SAIL_XDEBUG_CONFIG در فایل برنامه خود تعریف کنید .env :

SAIL_XDEBUG_CONFIG="client_host=<host-ip-address>"

استفاده از Xdebug CLI

هنگام اجرای دستور Artisan، ممکن است از یک sail debug دستور برای شروع جلسه رفع اشکال استفاده شود:

# Run an Artisan command without Xdebug...
sail artisan migrate
 
# Run an Artisan command with Xdebug...
sail debug migrate

استفاده از مرورگر Xdebug

برای اشکال زدایی برنامه خود در حین تعامل با برنامه از طریق مرورگر وب، دستورالعمل های ارائه شده توسط Xdebug را برای شروع یک جلسه Xdebug از مرورگر وب دنبال کنید.

اگر از PhpStorm استفاده می‌کنید، لطفاً مستندات JetBrain در مورد اشکال‌زدایی با پیکربندی صفر را بررسی کنید .

Laravel Sail artisan serve برای ارائه برنامه شما به آن متکی است. این artisan serve فرمان فقط متغیرهای XDEBUG_CONFIG و را XDEBUG_MODE از نسخه 8.53.0 لاراول می پذیرد. نسخه های قدیمی لاراول (8.52.0 و پایین تر) از این متغیرها پشتیبانی نمی کنند و اتصالات اشکال زدایی را نمی پذیرند.

سفارشی سازی

از آنجایی که Sail فقط Docker است، می توانید تقریباً همه چیز را در مورد آن سفارشی کنید. برای انتشار Dockerfiles خود Sail، می توانید این sail:publish دستور را اجرا کنید:

sail artisan sail:publish

پس از اجرای این دستور، Dockerfiles و سایر فایل های پیکربندی که توسط Laravel Sail استفاده می شود، در دایرکتوری docker در فهرست اصلی برنامه شما قرار می گیرند. پس از سفارشی کردن نصب Sail، ممکن است بخواهید نام تصویر ظرف برنامه را در docker-compose.yml فایل برنامه خود تغییر دهید. پس از انجام این کار، کانتینرهای برنامه خود را با استفاده از build دستور بازسازی کنید. اگر از Sail برای توسعه چندین برنامه Laravel در یک ماشین استفاده می کنید، اختصاص یک نام منحصر به فرد به تصویر برنامه بسیار مهم است:

sail build --no-cache