La dernière fois, j'ai essayé de créer un environnement Laravel avec Docker Compose, mais j'ai eu du mal à gérer Laravel. [Copier et coller] Créer un environnement de développement Laravel avec Docker Compose
Après tout, je l'ai mis dans un conteneur et installé Laravel, mais ... ce n'est pas bon. Suite à cette réflexion, j'ai pensé que Laravel devait être géré dans le référentiel avec docker-compose.yml et autres. Ouais, c'est peut-être le meilleur! Je veux dire, il n'y a que ça! !!
Puisqu'il va et vient entre chaque environnement, il est décrit comme suit.
[Mac]$Travailler sous Mac dans le terminal Mac
[PHP]$Travaillez en vous connectant à un conteneur PHP depuis un terminal Mac
https://github.com/bobtabo/docker/blob/master/docker-compose.yml
services:
nginx:
・ ・ ・
volumes:
- ~/MountPoint/docker/home:/home/docker
・ ・ ・
php:
・ ・ ・
volumes:
- ~/Work/MountPoint/docker/home:/home/docker
・ ・ ・
db:
volumes:
- ~/Work/MountPoint/docker/db/data:/var/lib/mysql
・ ・ ・
Le point de montage a été séparé des fichiers de conteneur, mais a été modifié comme suit pour en faire le même répertoire.
services:
nginx:
・ ・ ・
volumes:
- ./src:/home/docker
・ ・ ・
php:
・ ・ ・
volumes:
- ./src:/home/docker
・ ・ ・
db:
volumes:
- ./db:/var/lib/mysql
・ ・ ・
https://github.com/bobtabo/docker/blob/master/.gitignore
/db
/src/*
!/src/laravel
Ce qui précède est un modèle, mais comme c'est un gros problème, Laravel est également disponible. Étant donné que la version PHP du Mac et le conteneur sont différents, je travaille à l'intérieur du conteneur.
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ composer create-project --prefer-dist laravel/laravel laravel "5.6.*"
[PHP]$ cd laravel
[PHP]$ composer require --dev barryvdh/laravel-ide-helper
[PHP]$ composer require --dev squizlabs/php_codesniffer
[PHP]$ mkdir bin
[PHP]$ vi bin/clear-laravel.sh
---
#!/bin/bash
php artisan view:clear
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan clear-compiled
php artisan config:cache
composer dump-autoload
php artisan ide-helper:generate
php artisan ide-helper:models -N
php artisan ide-helper:meta
find . -name '._.DS_Store' -type f -ls -delete
---
:wq
[PHP]$ vi .env.example
---
:%s/DB_HOST=127.0.0.1/DB_HOST=mysql/g
:%s/DB_DATABASE=homestead/DB_DATABASE=hoge/g
:%s/DB_USERNAME=homestead/DB_USERNAME=fuga/g
:%s/DB_PASSWORD=secret/DB_PASSWORD=docker#DOCKER1234/g
---
:wq
Achevée! !! https://github.com/bobtabo/docker2
[Mac]$ cd <Annuaire arbitraire>
[Mac]$ git clone https://github.com/bobtabo/docker2.git docker
[Mac]$ cd docker
[Mac]$ docker-compose up -d
・ ・ ・
Creating mysql ... done
Creating php ... done
Creating nginx ... done
[Mac]$ docker-compose exec --user 1000 php bash
[PHP]$ pwd
/home/docker
[PHP]$ cd laravel
[PHP]$ composer install
[PHP]$ chmod -R 777 storage
[PHP]$ chmod -R 777 bootstrap/cache
[PHP]$ cp -p .env.example .env
[PHP]$ php artisan key:generate
[PHP]$ chmod 755 bin/clear-laravel.sh
[PHP]$ bin/clear-laravel.sh
[PHP]$ php artisan migrate:fresh --seed