يقوم Docker بتشغيل Nginx وPHP-FPM وComposer وMySQL وPHPMyAdmin.
تثبيت المتطلبات الأساسية
قبل تثبيت المشروع تأكد من استيفاء المتطلبات الأساسية التالية.
استنساخ المشروع
سنقوم بتنزيل الكود من مستودعه على GitHub.
قم بتشغيل التطبيق
عند هذه النقطة سيكون لدينا جميع أجزاء المشروع في مكانها الصحيح.
استخدم أوامر دوكر
عند التشغيل، يمكنك استخدام أوامر عامل الإرساء للقيام بعمليات متكررة.
تطبيق الاختبار
لتشغيل أوامر عامل الإرساء دون استخدام sudo، يجب عليك إضافة مجموعة عامل الإرساء إلى المستخدم الخاص بك :
sudo usermod -aG docker your-user
في الوقت الحالي، تم إنشاء هذا المشروع بشكل أساسي لنظام التشغيل Unix (Linux/MacOS)
. ربما يمكن أن تعمل على نظام التشغيل Windows.
يجب أن تكون جميع المتطلبات متاحة للتوزيع الخاص بك. أهمها:
تحقق مما إذا كان docker-compose
مثبتًا بالفعل عن طريق إدخال الأمر التالي:
which docker-compose
التحقق من توافق Docker Compose :
تتوفر هذه العناصر في Ubuntu وDebian في الحزمة التعريفية الأساسية. في التوزيعات الأخرى، قد تحتاج إلى تثبيت مترجم GNU C++ بشكل منفصل.
sudo apt install build-essential
يجب أن تكون حذرًا عند تثبيت خوادم ويب تابعة لجهات خارجية مثل MySQL أو Nginx.
يستخدم هذا المشروع المنافذ التالية:
الخادم | ميناء |
---|---|
ماي إس كيو إل | 8989 |
PHPMyAdmin | 8080 |
نجينكس | 8000 |
لتثبيت Git، قم بتنزيله وتثبيته باتباع التعليمات:
git clone https://github.com/sahedbs23/oscar-car-rental.git
انتقل إلى دليل المشروع:
cd oscar-car-rental
.
├── Makefile
├── README.md
├── data
│ └── db
│ ├── dumps
│ └── mysql
├── doc
├── docker-compose.yml
├── etc
│ ├── nginx
│ │ ├── default.conf
│ │ └── default.template.conf
│ ├── php
│ │ └── php.ini
│ └── ssl
└── web
├── app
│ ├── composer.json.dist
│ ├── phpunit.xml.dist
│ ├── src
│ │ └── App.php
│ └── test
│ └── bootstrap.php
└── public
└── index.php
ابدأ التطبيق :
docker-compose up -d
يرجى الانتظار قد يستغرق هذا عدة دقائق...
docker-compose logs -f # Follow log output
افتح متصفحك المفضل:
إيقاف ومسح الخدمات
docker-compose down -v
docker run --rm -v $( pwd ) /web/app:/app composer require symfony/yaml
docker run --rm -v $( pwd ) /web/app:/app composer update
docker-compose exec -T php ./app/vendor/bin/phpunit --colors=always --configuration ./app
docker-compose exec -T php ./app/vendor/bin/phpmd ./app/src text cleancode,codesize,controversial,design,naming,unusedcode
docker-compose exec php php -m
docker exec -it mysql bash
و
mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD "
mkdir -p data/db/dumps
source .env && docker exec $( docker-compose ps -q mysqldb ) mysqldump --all-databases -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " > " data/db/dumps/db.sql "
source .env && docker exec -i $( docker-compose ps -q mysqldb ) mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " < " data/db/dumps/db.sql "
Notice:
استبدل "YOUR_DB_NAME" باسمك المخصص.
source .env && docker exec $( docker-compose ps -q mysqldb ) mysqldump -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " --databases YOUR_DB_NAME > " data/db/dumps/YOUR_DB_NAME_dump.sql "
source .env && docker exec -i $( docker-compose ps -q mysqldb ) mysql -u " $MYSQL_ROOT_USER " -p " $MYSQL_ROOT_PASSWORD " < " data/db/dumps/YOUR_DB_NAME_dump.sql "
Notice:
قم باستيراد مجموعة ساعي البريد من api-doc/postman_collection.json
Notice:
قم باستيراد بيئة ساعي البريد من api-doc/postman_environment.json
Notice:
رخصة السيارة فريدة على مستوى قاعدة البيانات. يمكنك استيراد المحتوى من الملف مرة واحدة فقط.