يجعل Docker البدء في مشاريع جديدة أسهل بكثير، مما يوفر عليك ساعات من إعداد الأدوات الفردية حتى تعمل. لارافيل ليس استثناء. إليك كيفية إعداد مشروع Laravel جديد باستخدام Docker، مع قاعدة بيانات MySQL.
أولاً، سنقوم بإعداد دليل فارغ جديد، والذي سيضم مشروع Laravel الخاص بنا. أطلق عليه اسم myApp أو أي شيء آخر تريده:
mkdir myApp cd myApp
بعد ذلك سنقوم بتعريف الحاويتين:
واحد لمشروع Laravel الخاص بنا والذي سيحتوي على جميع أكواد PHP اللازمة.
واحد لقاعدة بيانات MySQL. إذا كنت تفضل استخدام MariaDB، فاستبدل الصورة: mysql:8.0 بالصورة: mariadb.
services: web: image: bitnami/laravel volumes: - ./app:/app working_dir: /app environment: - LARAVEL_DATABASE_HOST=db - LARAVEL_DATABASE_USER=root - LARAVEL_DATABASE_NAME=laravel - LARAVEL_DATABASE_PASSWORD=pass1 - LARAVEL_DATABASE_PORT_NUMBER=3306 restart: always ports: - 8000:8000 db: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=pass1 - MYSQL_DATABASE=laravel
Docker Compose هي أداة من Docker تساعد في إنشاء مكونات متعددة في نفس الوقت. مفيد حقًا إذا كنت تقوم بتشغيل مشروع يحتوي على أجزاء متحركة متعددة، مثل قاعدة البيانات.
في هذه الحالة، web هو مشروع Laravel وdb هو قاعدة البيانات. يتم إنشاء حاوية الويب من الصورة الأساسية bitnami/laravel، وهي صورة سهلة الاستخدام تم تثبيت Laravel عليها مسبقًا. يضيف مجلد التطبيق كـ "وحدة تخزين" إلى الحاوية حتى يتمكن من تشغيله. يمنح الملف الحاوية بيانات اعتماد قاعدة البيانات حتى تتمكن من الاتصال بها، ويكشف أيضًا عن المنفذ 8080 حتى تتمكن من فتح الموقع باستخدام متصفحك!
حاوية db هي حاوية بسيطة مثبت عليها MySQL. يمنحه الملف كلمة المرور للمستخدم الجذر وأيضًا اسمًا لقاعدة البيانات حتى يتمكن من إنشائها.
هذا كل شيء!
الآن بعد أن أصبح لدينا ملف docker-compose.yml في مكانه الصحيح، يمكننا إعطاء Docker الضوء الأخضر لإنشاء كلتا الحاويتين باستخدام أمر بسيط:
docker compose up
امنحه بضع ثوانٍ، وسيصبح موقعك جاهزًا للعمل. يجب أن تشاهد السطر التالي في جهازك الطرفي:
INFO Server running on [http://0.0.0.0:8000].
لفتحه، افتح http://localhost:8000 في متصفحك.
نجاح!
استمتع بموقع Laravel الجديد الخاص بك!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3