-
Notifications
You must be signed in to change notification settings - Fork 67
Description
Testuojama ne ta duomenų bazė
mysql -uroot -h127.0.0.1 --port=3306 -p
Bet dokumentacijoje specialiai padaryta su 330 7:
mysql -uroot -h127.0.0.1 --port=3307 -p
Kad naudotų docker
yje esantį MySql'ą ir jis nesikirstų su įdiegtų per apt-get install
ar pan.
Kaip patikrinti:
docker ps
rodo port'us- per
php.symfony
bin/console doctrine:database:create
rodo duomenų bazės pavadinimą - per
php.symfony
env | grep DATABASE_URL
rodo realią reikšmę
Komandos paleidžiamos prod
/ dev
konteineriuose
Pakeičiamas DATABASE_URL
reikšmė .env
faile, bet bin/console
vis tiek meta klaidas
Yra skirtumas tarp dev ir prod ir ci.nfqakademija.lt
:
docker exec -it php.symfony bash
docker exec -it prod.php.symfony bash
Vienur imama iš .env
, kitur įmituojamas padavimas per nginx
/environment
Keliant į akademijos serverius, .env
failas pakeičiamas jau sugeneruotų. Jei reikia papildomų pakeitimų (magiškai iš .env.dist nepaima), tai reikia per SSH prisijungti prie akademijos serverių
Kaip patikrinti:
- Konteineryje paleisti
env
– ir žiūrėti reikšmes (ypačAPP_ENV
)
Pakeitimai išmėtyti per .env
, site.conf
ir docker-compose.yml
Pakeitimai .env
faile neatsinaujina neperkrovus docker
konteinerių 🪲
docker-compose perduoda APP_ENV
kitmaąjį iš .env
, bet (index.php)[https://github.com/nfqakademija/kickstart/blob/master/public/index.php#L11] ima duomenis iš .env
tik kai nėra nustatytas APP_ENV
Apėjimas:
- Perkrauti konteinerius:
docker-compose kill
irdocker-compose up -d
Dėkui @Xeriaz už surastą klaidą
Yra daug vietų, kur keisti konfigūraciją – gal galima sugeneruoti 💡
Dabar DATABASE_URL=mysql://root:[email protected]:3306/symfon
yra tiesiog copy-paste
docker-compose.yml, .env.dist ir site.conf failuose
Įmanoma būtų padaryti --endpoint
script'ą, kad sugeneruotų reikiamus parametrus į environment
ir nginx
.
Pradinė idėja buvo – su kodo generavimu bus per daug magijos – bet su copy-paste
yra per daug klaidų.