Um das Arbeitsumfeld schnell zu verbessern, gibt es viele Möglichkeiten. Eine davon besteht darin, alle erforderlichen Dienste in Docker-Containern bereitzustellen. Um die Erstellung neuer Projekte im Yii-Framework zu beschleunigen, habe ich eine so kleine Anweisung geschrieben, dass die Entwickler in unserem Team sie verwenden.
Zu Beginn sollten Sie Docker, Docker-Compose, PHP und PHP-Composer haben.
Wir erstellen den Ordner mit dem Projekt und dem Docker- Ordner darin.
mkdir project-dir cd project-dir && mkdir docker
Erstellen Sie im Docker- Ordner die Konfigurationsdatei für unseren Dockerfile- Container.
# nginx php FROM richarvey/nginx-php-fpm # ADD app /var/www/app # RUN rm -Rf /etc/nginx/sites-enabled
Erstellen Sie im selben Docker- Ordner die Datei docker-compose.yml , um die Entwicklungsumgebung zu öffnen .
# 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"
Erstellen Sie für nginx den Ordner docker / conf / nginx und die darin enthaltene Datei site.conf . Die Datei kann sich ändern, je nachdem, wie Sie nginx in Ihrem Projekt konfigurieren möchten. Es kann lokal geändert werden, weil Es verbindet sich durch Lautstärke. Wir dürfen jedoch nicht vergessen, nginx im Container neu zu starten: nginx -s reload
server { charset utf-8; client_max_body_size 128M; listen 80;
Alle Befehle werden aus dem Stammordner ausgeführt.
composer create-project --prefer-dist yiisoft/yii2-app-advanced app
Befehl composer create-project --prefer-dist yiisoft/yii2-app-advanced app
.- Führen Sie die
docker-compose -f docker/docker-compose.yml up -d
- Wir initialisieren die Projekt-
app/init --env=Development --overwrite=All
- Öffnen Sie die Datei app / common / config / main-local.php im Editor und füllen Sie sie mit Daten, um eine Verbindung zur Datenbank herzustellen . Im Beispiel haben wir das Root-Passwort als root, der DB-Host ist db, der Datenbankname ist yii-template-db.
docker exec -it docker_app_1 bash
Verbindung zum docker exec -it docker_app_1 bash
Container docker exec -it docker_app_1 bash
- Führen Sie den Datenbankmigrationsbefehl
php /var/www/app/yii migrate
- Erstellen Sie einen Protokollordner
mkdir /var/www/app/log
- Und
exit
- Wir bremsen den Dienst
docker-compose -f docker/docker-compose.yml down
- Führen Sie es erneut aus.
docker-compose -f docker/docker-compose.yml up -d
- Öffnen Sie localhost in einem Browser und sehen Sie sich die neue Site an.
Upd: Es ist erwähnenswert, dass es immer ein offizielles Docker-Image von Yii2 gibt .