docker-composen dockerit saa toimintaan: (-d laittaa taustalle)
host$ docker-compose up -d
docker-composen dockerit voi ottaa pois käytöstä:
host$ docker-compose down
docker-compose.yml
docker-compose mahdollistaa useiden eri konttien liittämistä yhteen / automatisoida toimintaa
init-script.sql
sql:n pitää alustaa mlinvoicelle tietokanta ja antaa käyttäjälle tarvittavat oikeudet. Kun docker-compose:ssa laitettaan volume eli "kopioidaan" init-script.sql /docker-entrypoint-initdb.d/ hakemistoon niin se ajetaan automaattisesti kun docker-compose ajetaan ylös
config.php.sample
Tästä on pieni ote miten tuo lähtee toimimaan docker-composen kanssa. Kun dockerit ovat samassa verkossa ne voi käyttää dockerin nimiä eli tuossa otetaan yhteys 'db' "koneeseen"
Havaitut ongelmat
Kun ajetaan docker-compose up ensimmäisen kerran ongelmia ei sinäänsä ole. Ohjelman etusivu kyselee tarvittavat tiedot ja napeista pääsee eteenpäin. Ongelma tulee siitä kun laitetaan docker-compose down ja joskus myöhemmin docker-compose up ... se nimittäin tälläkin kertaa kyselee admin tunnuksen salasanaa jne... eli aloittaa prosessin alusta, koska config.php.sample tiedosto löytyy.
Ratkaisu?
Olisiko tuohon ratkaisuna se, että käytetään config.php tiedostoa, johon tehdään asetukset. Itse tiedostoa ei muuteta ajossa vaan tiedostonimi pysyy samana. Ohjelma tekisi tarkistuksen löytyykö tunnukselle admin salasanaa ja jos löytyy niin hypätään käyttämään ohjelmaa eikä näytetä setup screeniä. Luulenpa että config säädöistä pääsisi varmaan joksikin aikaa tuolla (vois unohtaa muut dotenvit yms)
Dockerfile
Tuosta voisi vielä poistaa curl:in ja laittaa zipin haun wget:llä. Wget nähtävästi tulee alpinen mukana. Voittaisi ~250 kilotavua :)
Käyttö
docker-composen dockerit saa toimintaan: (-d laittaa taustalle)
host$ docker-compose up -d
docker-composen dockerit voi ottaa pois käytöstä:
host$ docker-compose down
docker-compose.yml
docker-compose mahdollistaa useiden eri konttien liittämistä yhteen / automatisoida toimintaa
init-script.sql
sql:n pitää alustaa mlinvoicelle tietokanta ja antaa käyttäjälle tarvittavat oikeudet. Kun docker-compose:ssa laitettaan volume eli "kopioidaan" init-script.sql /docker-entrypoint-initdb.d/ hakemistoon niin se ajetaan automaattisesti kun docker-compose ajetaan ylös
config.php.sample
Tästä on pieni ote miten tuo lähtee toimimaan docker-composen kanssa. Kun dockerit ovat samassa verkossa ne voi käyttää dockerin nimiä eli tuossa otetaan yhteys 'db' "koneeseen"
Havaitut ongelmat
Kun ajetaan
docker-compose up
ensimmäisen kerran ongelmia ei sinäänsä ole. Ohjelman etusivu kyselee tarvittavat tiedot ja napeista pääsee eteenpäin. Ongelma tulee siitä kun laitetaandocker-compose down
ja joskus myöhemmindocker-compose up
... se nimittäin tälläkin kertaa kyselee admin tunnuksen salasanaa jne... eli aloittaa prosessin alusta, koska config.php.sample tiedosto löytyy.Ratkaisu?
Olisiko tuohon ratkaisuna se, että käytetään config.php tiedostoa, johon tehdään asetukset. Itse tiedostoa ei muuteta ajossa vaan tiedostonimi pysyy samana. Ohjelma tekisi tarkistuksen löytyykö tunnukselle admin salasanaa ja jos löytyy niin hypätään käyttämään ohjelmaa eikä näytetä setup screeniä. Luulenpa että config säädöistä pääsisi varmaan joksikin aikaa tuolla (vois unohtaa muut dotenvit yms)
Dockerfile
Tuosta voisi vielä poistaa curl:in ja laittaa zipin haun wget:llä. Wget nähtävästi tulee alpinen mukana. Voittaisi ~250 kilotavua :)