sql >> Databáze >  >> RDS >> Mysql

Nasazení databáze MySQL pro dockerizovanou aplikaci Django

MySQL (a varianty jako Percona Server) poskytují zařízení pro nasazování databáze při prvním spuštění kontejneru popsané v části „Inicializace nové instance“ v stránka centra dockeru .

Dockerfile využívající tuto techniku ​​bude vypadat takto

FROM mysql:8
COPY seed-data.sql /docker-entrypoint-initdb.d/

Poznámka:lomítko na konci adresáře je důležité.

Když docker run tento obrázek vytvoří docker kontejner, -entrypoint.sh spustí skript SQL a kontejner bude připraven k poskytování dat.

Data zůstanou zachována i po restartování kontejneru – počáteční data a následné úpravy.

Kontejner můžete znovu použít pro rychlejší spouštění – následné spuštění kontejneru nebude muset inicializovat databázi nebo osídlit data. Až budete potřebovat nedotčená data, smažte kontejner a docker run obrázek znovu.

Když smažete kontejner, nezapomeňte smazat svazek dockeru obsahující data db:docker rm -v $CONTAINER_NAME .

Tuto metodu používám k poskytování standardních dat pro jazykové/rámcové POC i CI/CD. Inicializace nové databáze a seedování velkého množství dat může trvat několik minut, takže budete chtít nějakou logiku pro pozastavení automatických operací, dokud se vám nepodaří úspěšně vytvořit připojení k databázi.

Doufám, že vám to pomůže na vaší cestě.




  1. Kalendářní tabulka pro datový sklad

  2. Součtový dotaz Mysql vrací nesprávný výsledek při použití více spojení

  3. Jak formátovat čísla s čárkami v MySQL

  4. Složitý Wordpress dotaz pomocí více dotazů