من أجل رفع بيئة العمل بسرعة ، هناك طرق عديدة. واحد منهم هو رفع جميع الخدمات اللازمة في حاويات Docker. للإسراع في إنشاء مشاريع جديدة في إطار عمل Yii ، كتبت تعليمات صغيرة يستخدمها المطورون في فريقنا.
في البداية ، يجب أن يكون لديك عامل إرساء ، تكوين عامل ميناء ، php و php-composer.
نقوم بإنشاء المجلد مع المشروع ومجلد عامل الميناء فيه.
mkdir project-dir cd project-dir && mkdir docker 
في مجلد عامل الميناء ، أنشئ ملف التكوين لحاوية ملف Dockerfile .
 #    nginx  php FROM richarvey/nginx-php-fpm #     ADD app /var/www/app #       RUN rm -Rf /etc/nginx/sites-enabled 
في مجلد docker نفسه ، أنشئ docker-compose.yml لرفع بيئة التطوير.
 #   docker-compose version: '3' #    deafult    networks: default: driver: bridge #    services: #   - app: #   Dockerfile build: #      context: ../ dockerfile: ./docker/Dockerfile #   80  ports: - "80:80" #        networks: - default #    db depends_on: - db #       volumes: - "../app:/var/www/app" #      nginx - "./conf/nginx:/etc/nginx/sites-available" #     db: image: mysql:latest #        networks: - default #    ports: - "3336:3306" #      environment: #    MYSQL_ROOT_PASSWORD: root #     MYSQL_DATABASE: yii-template-db #       volumes: - "./database:/var/lib/mysql" 
بالنسبة إلى nginx ، أنشئ مجلد docker / conf / nginx وملف site.conf فيه. قد يتغير الملف ، اعتمادًا على الطريقة التي تريد بها تكوين nginx في مشروعك. يمكن تغييره محليًا ، لأنه يربط من خلال الحجم. ولكن يجب ألا ننسى إعادة تشغيل nginx داخل الحاوية: nginx -s reload
 server { charset utf-8; client_max_body_size 128M; listen 80;  
يتم تنفيذ جميع الأوامر من المجلد الجذر.
- composer create-project --prefer-dist yiisoft/yii2-app-advanced appأمر- composer create-project --prefer-dist yiisoft/yii2-app-advanced app.
- قم بتشغيل docker-compose -f docker/docker-compose.yml up -d
- نقوم بتهيئة app/init --env=Development --overwrite=Allالمشروعapp/init --env=Development --overwrite=All
- افتح تطبيق file / common / config / main-local.php في المحرر واملأه بالبيانات للاتصال بقاعدة البيانات. في المثال ، لدينا كلمة مرور الجذر كجذر ، مضيف DB هو db ، واسم قاعدة البيانات هو yii-template-db.
- الاتصال docker exec -it docker_app_1 bash
- قم بتشغيل أمر ترحيل قاعدة البيانات ترحيل php /var/www/app/yii migrate
- إنشاء مجلد سجل mkdir /var/www/app/log
- exit
- نحن فرامل خدمة docker-compose -f docker/docker-compose.yml down
- قم docker-compose -f docker/docker-compose.yml up -dمرة أخرىdocker-compose -f docker/docker-compose.yml up -d
- افتح localhost في متصفح وانظر إلى الموقع الجديد.
تحديث: من الجدير بالذكر أن هناك دائمًا صورة Docker رسمية لـ Yii2 .