Beim letzten Mal habe ich versucht, mit Docker Compose eine Laravel-Umgebung zu erstellen, aber ich hatte Probleme beim Umgang mit Laravel. [Kopieren und Einfügen] Erstellen einer Laravel-Entwicklungsumgebung mit Docker Compose
Immerhin habe ich es in einen Container gegeben und Laravel installiert, aber ... es ist nicht gut. Als Ergebnis des Denkens dachte ich, dass Laravel zusammen mit docker-compose.yml und anderen im Repository verwaltet werden sollte. Ja, vielleicht ist das das Beste! Ich meine, es gibt nur das! !!
Da es zwischen den einzelnen Umgebungen hin und her geht, wird es wie folgt beschrieben.
[Mac]$Arbeiten auf dem Mac im Mac-Terminal
[PHP]$Stellen Sie eine Verbindung zu einem PHP-Container über ein Mac-Terminal her
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
・ ・ ・
Der Einhängepunkt wurde von den Containerdateien getrennt, jedoch in den folgenden geändert, um dasselbe Verzeichnis zu erstellen.
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
Das Obige ist eine Vorlage, aber da es eine große Sache ist, ist Laravel auch verfügbar. Arbeiten Sie im Container, da sich die PHP-Version des Mac und der Container unterscheiden.
[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
Komplett! !! https://github.com/bobtabo/docker2
[Mac]$ cd <Beliebiges Verzeichnis>
[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
Recommended Posts