Laravel, Nginx, Mysql

Allt i en Docker container

Breeze

Det händer mycket med Laravel, som de flesta ramverk. Att manuellt sätta upp docker och konfigurera det behövs egentligen inte. Funktionaliteten med att köra Laravel och den mjukvara som krävs för det finns nu paketerat i något som kallas för Breeze, det gör att den följande guiden inte behövs.

Docker konfiguration

Vill du läsa hela denna guide på engelska utan redigering så finns den här.

git clone https://github.com/laravel/laravel.git tweety

För att inte behöva installera Composer och dependencies lokalt.

docker run --rm -v $(pwd):/app composer install

Ändra sedan rättigheterna på hela mappen. Viktigt för senare.

sudo chown -R $USER:$USER .

Skapa följande mappar och filer.

mkdir mysql
touch mysql/my.cnf
mkdir nginx
cd nginx
mkdir conf.d
cd conf.d
touch app.conf
cd ../../
mkdir php
touch php/local.ini
cd ..
touch docker-compose.yml
touch Dockerfile

Starta Visual Studio Code och redigare filerna.

Viktigt med secure-file-priv = "" annars fungerar det inte.

Konfigurationsfiler för denna Docker image.

Laravel

Laravel kräver en .env fil för att kunna köras.

Redigera databasinformationen.

Kör

Du bör nu vara redo att bygga och starta denna image, det kan ta en stund.

För att se alla containers som körs. Prova sedan att öppna den i webbläsaren, localhost.

Du behöver nu skapa en app:key, du kan eventuellt göra det direkt i webbläsare, annars kör du följande kommando för exekvera php artisan för att skapa en key.

Den grundläggande konfigurationen är nu skapad.

MySQL

För att slutföra konfigurationen av MySQL och skapa en användare så kopplar vi upp oss mot Docker imagen. Det ger dig ett bash shell direkt på imagen.

Starta sedan mysql och skapa en user.

Avsluta sedan MySQL och Bash instansen pĂĄ docker imagen med exit.

Laravel migrate

Nu bör du kunna migrera Laravels databas-tabeller.

Om du fĂĄr fel, prova att rensa artisan config.

Testa att det fungerar pĂĄ imagen med tinker.

Cache

Du kan köra följande kommando för att skapa en cache för den, vilket snabbar upp din applikation.

Repository

https://github.com/jensnti/laravel-tweety

Laracasts

https://laracasts.com/series/laravel-6-from-scratch/episodes/55

Last updated

Was this helpful?