Wpis z mikrobloga

#docker #devopsiarz #devops #php #laravel #sqlite #mysql #ubuntu
1) Jeżeli mamy apke w czystym php używamy wsl2 ubuntu i chcemy użyć dockera to musimy ściągnąć obraz mysql i php do katalogu w którym trzymamy apke?
1a) to trzeba jakoś "podłączyć"?

2) jeżeli mamy laravela to żeby używać go na docker to wystarczy zainstalować sail?
2a) tylko jedna komędą?

3)mam problem z laravelem. zainstalowałem go i w config/database.php domyślną bazą danych jest sqlite a w .env jest mysql. zmieniłem w .env na sqlite reszte zakomentowałem i chciałem zrobić migracje i pisze że migracja jest zrobiona i za #!$%@? nie mogę się połaćzyć z bazą danych sqlite.
Tak to wygląda w .env

DBCONNECTION=sqlite

# DBHOST=mysql

# DBPORT=3306

# DBDATABASE=laravel

# DBUSERNAME=sail

# DBPASSWORD=password

Tak to wygląda w config/databse.php

'default' => env('DBCONNECTION', 'sqlite'),

'connections' => [


'sqlite' => [

'driver' => 'sqlite',

'url' => env('DBURL'),

'database' => env('DBDATABASE', databasepath('database.sqlite')),

'prefix' => '',

'foreignkeyconstraints' => env('DBFOREIGNKEYS', true),

],


'mysql' => [

'driver' => 'mysql',

'url' => env('DBURL'),

'host' => env('DBHOST', '127.0.0.1'),

'port' => env('DBPORT', '3306'),

'database' => env('DBDATABASE', 'laravel'),

'username' => env('DBUSERNAME', 'root'),

'password' => env('DBPASSWORD', ''),

'unixsocket' => env('DBSOCKET', ''),

'charset' => env('DBCHARSET', 'utf8mb4'),

'collation' => env('DBCOLLATION', 'utf8mb4unicodeci'),

'prefix' => '',

'prefixindexes' => true,

'strict' => true,

'engine' => null,

'options' => extensionloaded('pdomysql') ? arrayfilter([

PDO::MYSQLATTRSSLCA => env('MYSQLATTRSSLCA'),

]) : [],

],

Pytam bo się uczę i szukam rozwiązania bo już mnie #!$%@? strzela z google i chatemgpt ponieważ zawsze coś złe wpisuje i #!$%@? mi informacje daje i jestem w ciemnej dupie :(
  • 10
  • Odpowiedz
chcemy użyć dockera to musimy ściągnąć obraz mysql i php do katalogu w którym trzymamy apke?


@massejferguson: w podstawowej wersji nie wybiera się gdzie pobierane są obrazy usług i gdzie potem powstają ich kontenery, tą decyzją zajmuje się docker engine. Na WSL2 jak masz docker engine zainstalowany przez Docker Desktop, on samemu wykorzysta Linuxowy Subsystem; jak zainstalowałeś samemu docker engine na Windowsie, to raczej będzie korzystał z zasobów tego OS, a
  • Odpowiedz
Napisz w chacie: "Please make me a docker-compose.yml file with php and mysql to use with laravel.

Powie Ci nawet z grubsza jak go użyć albo dopytaj.
  • Odpowiedz
czytałem dokumentacje i #!$%@? mi to daje...


@massejferguson: czytanie ze zrozumieniem się kłania. Ja na podstawie dokumentacji i szybkiego jeszcze googlowania (po graifkach) szukałem sobie, która paczka najlepiej będzie pasować pod aplikację Headless z obsługą SPA: czy Laravel Passport, Laravel Sanctum czy jeszcze tam jeden. Czy może samemu zrobić aplikacjęOauth2 na JWT. Stanęło na ostatnim, ale najlepiej napisane przez Dependency Inversion, aby móc w przyszłości np. jednak przejść na któreś z
  • Odpowiedz
@massejferguson ech, rozumiem początki, ale warto jeszcze raz dokumentację ogarnąć na spokojnie

1. Nie
1a. Tak
2. To zależy
2a. To zależy
3. Wykorzystujesz zmienne środowiskowe które zakomunikowałeś sobie

Ogólnie poleciłbym najpierw odpalić sobie to lokalnie, bez dockera. Plik z sqlite trzymaj sobie w katalogu projektu. Jak sobie ogarniesz tak, żeby to działało, to przechodzić do etapu dockera. I wtedy czytasz, co to jest docker-compose, czym są volumes, jak przekazać zmienne środowiskowe
  • Odpowiedz