جاهز للعمل مع بيئات تطوير Docker الصغيرة.
يمكن العثور على الوثائق الكاملة على https://vessel.shippingdocker.com.
Vessel عبارة عن مجموعة صغيرة من الملفات التي تقوم بإعداد بيئة تطوير محلية قائمة على Docker لكل مشروع. لا يوجد شيء يمكن تثبيته عالميًا، باستثناء Docker نفسه!
هذا كل ما في الأمر لاستخدامه:
يتطلب الملحن عامل شحن/سفينة php artisan البائع:publish --provider="VesselVesselServiceProvider"# قم بتشغيل هذا مرة واحدة لتهيئة المشروع# يجب تشغيله باستخدام "bash" حتى تتم تهيئة سفينة bash ./بداية السفينة
توجه إلى http://localhost
في متصفحك وشاهد موقع Laravel الخاص بك!
إذا كنت تستخدم Lumen، فستحتاج إلى نسخ ملفات Vessel يدويًا بدلاً من استخدام php artisan vendor:publish
. يمكنك القيام بذلك باستخدام هذا الأمر:
cp -R vendor/shipping-docker/vessel/docker-files/{vessel,docker-compose.yml,docker} .
وبعد ذلك ستتمكن من التثبيت والمتابعة كالمعتاد.
تحاول السفينة الارتباط بالمنفذ 80 و3306 على جهازك، لذا يمكنك ببساطة الانتقال إلى http://localhost
في متصفحك.
ومع ذلك، إذا قمت بتشغيل أكثر من مثيل واحد لـ Vessel، فسوف تحصل على خطأ عند بدء تشغيله؛ يمكن استخدام كل منفذ مرة واحدة فقط. للتغلب على هذه المشكلة، استخدم منفذًا مختلفًا لكل مشروع عن طريق تعيين متغيرات البيئة APP_PORT
و MYSQL_PORT
بإحدى الطريقتين التاليتين:
داخل ملف .env
:
APP_PORT=8080 MYSQL_PORT=33060
أو عند بدء السفينة:
APP_PORT=8080 MYSQL_PORT=33060 ./بداية السفينة
ثم يمكنك عرض مشروعك على http://localhost:8080
والوصول إلى قاعدة البيانات الخاصة بك محليًا من المنفذ 33060
؛
نظرًا لأننا ربطنا MySQL بالمنفذ 3306
، فيمكن لـ SequelPro الوصول إلى قاعدة البيانات مباشرةً.
يتم تعيين كلمة المرور root
المستخدم بواسطة متغير البيئة DB_PASSWORD
من داخل ملف .env
.
يجب أن يتطابق إعداد المنفذ مع متغير البيئة
MYSQL_PORT
، والذي يكون افتراضيًا3306
.
فيما يلي قائمة بالمساعدين المضمنين الذين يمكنك استخدامهم. سيتم تمرير أي أمر غير محدد في البرنامج النصي vessel
افتراضيًا إلى أمر docker-compose
. إذا لم يتم استخدام الأمر، فسيتم تشغيل docker-compose ps
لسرد الحاويات قيد التشغيل لهذه البيئة.
# يُظهر الإصدار الحالي للسفينة$ ship --version # أو [ -v | الإصدار ]# يظهر سفينة help$ سفينة --help # أو [ -H | يساعد ]
# ابدأ البيئة./vessel start## هذا يعادل./vessel up -d# أوقف البيئة./vessel stop## هذا يعادل./vessel down
# استخدم الملحن./السفينة الملحن <cmd>./vessel comp <cmd> # "comp" هو اختصار لـ "composer"# استخدم artisan./vessel artisan <cmd>./vessel art <cmd> # "art" هو اختصار لـ "artisan"# Run tinker REPL./vessel tinker # "tinker" هو اختصار لـ "artisan tinker"# تشغيل اختبارات phpunit./vessel test## مثال: أنت يمكنك تمرير أي شيء تريده إلى phpunit إلى هذا أيضًا./vessel test --filter=some.phpunit.filter ./vessel test tests/Unit/SpecificTest.php# Run npm./vessel npm <cmd>## مثال: تثبيت deps./vessel npm install# تشغيل الغزل./vessel الغزل <cmd>## مثال: تثبيت deps./ تثبيت غزل السفينة # تشغيل gulp./vessel gulp <cmd>
كما ذكرنا سابقًا، سيتم استخدام أي شيء لم يتم التعرف عليه كأمر مضمن كوسيطة لأمر docker-compose
. إليك بعض الحيل المفيدة:
# سيدرج كلاهما الحاويات قيد التشغيل حاليًا وحالتها./vessel ./vessel ps# تحقق من إخراج السجل لخدمة الحاوية./vessel logs # جميع سجلات الحاوية./vessel logs app # nginx | php logs./vessel logs mysql # mysql logs./vessel logs redis # redis logs## ذيل السجلات لرؤية المخرجات كما تم إنشاؤها./vessel logs -f # all logs./vessel logs -f app # nginx | سجلات php## Tail Laravel Logs./vessel exec app tail -f /var/www/html/storage/logs/laravel.log# ابدأ قذيفة bash داخل الحاوية# هذا تمامًا مثل إدخال SSH في الخادم# لاحظ أن التغييرات التي يتم إجراؤها على الحاوية بهذه الطريقة **لن**# تستمر من خلال إيقاف وبدء تشغيل بيئة السفينة# لتثبيت البرنامج أو تغيير تكوين الخادم، ستحتاج إلى# تحرير ملف Dockerfile وتشغيل: ./vessel build./vessel exec app bash# مثال: قاعدة بيانات mysqldump "homestead" إلى نظام الملفات المحلي# يجب أن نضيف كلمة المرور في سطر الأوامر بهذه الطريقة# يؤدي هذا إلى إنشاء ملفات "homestead.sql" على نظام الملفات المحلي الخاص بك، وليس # داخل الحاوية# @link https://serversforhackers.com/c/mysql-in-dev-docker./vessel exec mysql mysqldump -u root -psecret homestead > homestead.sql
الهدف من هذا المشروع هو البساطة. ويشمل:
PHP 7.4
ماي إس كيو إل 5.7
ريديس (الأحدث)
NodeJS (الأحدث)، مع Yarn & Gulp
إذا لم تكن على دراية بـ Docker، فجرّب دورة Docker in Development هذه، والتي تشرح موضوعات مهمة حول كيفية تجميع ذلك معًا.
إذا كنت تريد معرفة كيفية تطوير سير العمل هذا، فاطلع على Shipping Docker وقم بالتسجيل للحصول على وحدة الدورة التدريبية المجانية التي تشرح إنشاء سير عمل Docker هذا.
يتطلب Vessel Docker، ويعمل حاليًا فقط على أنظمة التشغيل Windows وMac وLinux.
يتطلب Windows تشغيل Hyper-V. يتم دعم استخدام Git Bash (MINGW64) وWSL. Windows الأصلي لا يزال قيد التطوير.
ماك | لينكس | ويندوز |
---|---|---|
قم بتثبيت Docker على نظام Mac | قم بتثبيت Docker على دبيان | قم بتثبيت Docker على نظام التشغيل Windows |
قم بتثبيت Docker على أوبونتو | ||
قم بتثبيت Docker على CentOS |