Un modèle cakephp/app pour Docker Compose et Kubernetes. Pour information voir aussi :
- CakePHP Galley similaire à Laravel Sail
- DevilBox.
- Docker 20 or higher
- Make
Service | Host:Port | Docker Host | Image |
---|---|---|---|
PHP8.1-FPM w/ Xdebug 3 | - | php | php:8.1-fpm-alpine |
NGINX 1.19 | localhost:8080 | web | nginx:1.19-alpine |
MySQL 8 | localhost:3607 | db | library/mysql:8 |
Suivi détallé voir SuiviInstallation.md
Fourchez et clonez ce référentiel, puis exécutez:
make init
C'est tout !
Maintenant retirez simplement app/*
de .gitignore.
Vous pouvez également supprimer :
Note :
make init
etmake init.nocache
interagissent avec l'utilisateur, mais pasmake start
etmake up
.
-
Changez votre
SHELL
dans le Makefile en/bin/zsh
. Cela améliore divers affichages tels les emoji's. -
Mac est livré avec une ancienne version de
sed
donc installezgnu-sed
pour certaines actions dans le Makefile :
brew install gnu-sed
Puis remplacez sed
par gsed
dans le Makefile.
Après l'installation, naviguez vers http://localhost:8080 pour visualiser la page de bienvenue de CakePHP.
Un Makefile est fourni avec quelques commandes facultatives pour votre commodité. Veuillez consulter le Makefile car ces commandes ne sont pas des alias exacts des commandes docker-compose.
Make Command | Description |
---|---|
make |
Affiche toutes les commandes make |
make init |
Exécute docker build, docker-compose up et copie les fichiers env |
make init.nocache |
Identique à make.init mais construit avec --no-cache |
make start |
Démarre les services docker-compose -f .docker/docker-compose.yml start |
make stop |
Stoppe les services docker-compose -f .docker/docker-compose.yml stop |
make up |
Crée et démarre les containers docker-compose -f .docker/docker-compose.yml up -d |
make down |
Démonte et supprime les containers docker-compose -f .docker/docker-compose.yml down |
make restart |
Redémarre les services docker-compose -f .docker/docker-compose.yml restart |
make php.sh |
Terminal PHP docker exec -it --user cakephp <PHP_CONTAINER> sh |
make php.restart |
Redémarre le conteneur PHP |
make db.sh |
Terminal DB docker exec -it <DB_CONTAINER> sh |
make db.mysql |
Terminal MySQL mysql -u root -h 0.0.0.0 -p --port 3307 |
make web.sh |
Terminal Web docker exec -it <WEB_CONTAINER> sh |
make xdebug.on |
Redémarre le conteneur PHP avec xdebug.mode activé |
make xdebug.off |
Redémarre le conteneur PHP avec xdebug.mode activé |
make composer.install |
docker exec <PHP_CONTAINER> composer install --no-interaction |
make composer.test |
docker exec <PHP_CONTAINER> composer test |
make composer.check |
docker exec <PHP_CONTAINER> composer check |
Se reporter à .docker/README.md pour les details.
Shell:
make php.sh
Commandes d'assistance :
make composer.install
make composer.test
make composer.check
Se reporter à .docker/README.md pour les details.
Shell:
make db.sh
MySQL shell, nécessite le client mysql sur votre hôte local :
make db.mysql
Se reporter à .docker/README.md pour les details.
Shell:
make web.sh
Xdebug est inactif par défaut. Pour basculer :
make xdebug.on
make xdebug.off
Le port par défaut de Xdebug 3 est 9003
.
Allez à File > Settings > Languages & Frameworks > PHP > Servers
- Name:
localhost
- Host:
localhost
- Port:
8080
- Debugger:
Xdebug
- Use path mappings:
Enable
Définissez le répertoire de l'application de votre projet sur le chemin absolu du conteneur Docker /srv/app
Pour réinstaller complètement, supprimez les conteneurs et les images existants, puis supprimez le répertoire app/
et exécutez à nouveau make init
.