Docker mit Nginx, PHP-FPM, Composer, MySQL und PHPMyAdmin.
Installieren Sie die Voraussetzungen
Stellen Sie vor der Installation des Projekts sicher, dass die folgenden Voraussetzungen erfüllt sind.
Klonen Sie das Projekt
Wir laden den Code aus seinem Repository auf GitHub herunter.
Führen Sie die Anwendung aus
Zu diesem Zeitpunkt werden wir alle Projektteile an Ort und Stelle haben.
Verwenden Sie Docker-Befehle
Während der Ausführung können Sie Docker-Befehle verwenden, um wiederkehrende Vorgänge auszuführen.
Testanwendung
Um die Docker-Befehle ohne Verwendung von sudo auszuführen, müssen Sie die Docker -Gruppe zu Ihrem Benutzer hinzufügen:
sudo usermod -aG docker your-user
Derzeit wurde dieses Projekt hauptsächlich für Unix (Linux/MacOS)
erstellt. Vielleicht könnte es unter Windows funktionieren.
Für Ihren Vertrieb sollten alle Voraussetzungen vorhanden sein. Die wichtigsten sind:
Überprüfen Sie, ob docker-compose
bereits installiert ist, indem Sie den folgenden Befehl eingeben:
which docker-compose
Überprüfen Sie die Docker Compose-Kompatibilität:
Unter Ubuntu und Debian sind diese im Metapaket build-essential verfügbar. Bei anderen Distributionen müssen Sie den GNU C++-Compiler möglicherweise separat installieren.
sudo apt install build-essential
Bei der Installation von Webservern von Drittanbietern wie MySQL oder Nginx sollten Sie vorsichtig sein.
Dieses Projekt verwendet die folgenden Ports:
Server | Hafen |
---|---|
MySQL | 8989 |
PHPMyAdmin | 8080 |
Nginx | 8000 |
Um Git zu installieren, laden Sie es herunter und installieren Sie es gemäß den Anweisungen:
git clone https://github.com/sahedbs23/oscar-car-rental.git
Gehen Sie in das Projektverzeichnis:
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
Starten Sie die Anwendung:
docker-compose up -d
Bitte warten Sie, es kann einige Minuten dauern...
docker-compose logs -f # Follow log output
Öffnen Sie Ihren Lieblingsbrowser:
Dienste stoppen und löschen
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
Und
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:
Ersetzen Sie „YOUR_DB_NAME“ durch Ihren benutzerdefinierten Namen.
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:
Importieren Sie die Postman-Sammlung aus api-doc/postman_collection.json
Notice:
Importieren Sie die Postman-Umgebung aus api-doc/postman_environment.json
Notice:
Ein Autoführerschein ist auf Datenbankebene eindeutig. Sie können den Inhalt der Datei nur einmal importieren.