Voglio creare un'immagine docker in cima a quella mysql che contiene già lo schema necessario per la mia app.
Ho provato ad aggiungere linee al Dockerfile che importerà il mio schema come file sql. L'ho fatto come tale (il mio Dockerfile):
FROM mysql
ENV MYSQL_ROOT_PASSWORD="bagabu"
ENV MYSQL_DATABASE="imhere"
ADD imhere.sql /tmp/imhere.sql
RUN "mysql -u root --password="bagabu" imhere < /tmp/imhere.sql"
A quanto ho capito, ciò non ha funzionato perché l'immagine della finestra mobile mysql non contiene un client mysql (le best practice dichiarano "non aggiungere cose solo perché saranno belle da avere") (sbaglio?)
quale potrebbe essere un buon modo per farlo? Ho avuto in mente alcune cose, ma sembrano tutte soluzioni alternative disordinate.
- installa il client mysql, fai quello che ho a che fare con esso, quindi rimuovilo / eliminalo.
- copia il file binario del client mysql sull'immagine, fai quello che devo fare, quindi rimuovilo.
- Crea lo schema in un altro server sql e copia direttamente il file db (questo sembra molto disordinato e mi sembra un pool di problemi contaminato)
Eventuali suggerimenti? Eventualmente in un modo che sarà facile da mantenere in seguito e forse anche conforme alle migliori pratiche?