Vorrei creare un'immagine di Docker MySQL con dati già compilati.Come creare un'immagine MySQL Docker popolata sul tempo di costruzione
voglio creare 3 strati in questo modo:
|---------------------|---------------------|
Layer 3 | Customer 1 Database | Customer 2 Database |
|---------------------|---------------------|
Layer 2 | Database image with tables but no data |
|-------------------------------------------|
Layer 1 | mysql:5.6.26 |
|-------------------------------------------|
La mia domanda è ora come creare una corretta Dockerfile per layer 2 e 3? Dove il mio file empty_with_tables.sql è caricato nel layer 2 e customer1.sql e customer2.sql sono caricati in due immagini nel layer 3. Ho letto qualcosa sul mettere i file SQL in "/docker-entrypoint-initdb.d". Ma questo comporterebbe il fatto che i dati siano quando l'immagine viene avviata per la prima volta. Questo non è quello che voglio. Voglio che i dati siano pronti nell'immagine (ad esempio per essere rapidamente disponibili nei test).
Potrei avviare l'immagine mysql, caricare i dati da linea di comando e fare un 'commit' ma questo non è riproducibile, richiedendo di farlo di nuovo quando i dati nei file SQL vengono modificati.
Come si può fare?
Con i migliori saluti,
- Morten Green Hermansen
Puoi fornire maggiori informazioni, per favore? Mi piacerebbe farlo anche io. – Telokis
@Morten Green per favore prenditi del tempo e condividi il tuo lavoro, siamo qui per aiutarci a vicenda. – Dung