Quiero crear una imagen acoplable sobre la mysql que ya contiene el esquema necesario para mi aplicación.
Intenté agregar líneas al Dockerfile que importará mi esquema como un archivo sql. Lo hice así (mi 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 mi entender, eso no funcionó porque la imagen del acoplador mysql no contiene un cliente mysql (el estado de mejores prácticas "no agregue cosas solo porque será bueno tenerlas") (¿estoy equivocado sobre esto?)
¿Cuál podría ser una buena manera de hacer esto? He tenido algunas cosas en mente, pero todas parecen soluciones alternativas desordenadas.
- instale el cliente mysql, haga lo que tengo que hacer con él, luego elimínelo / purgue.
- copie el binario del cliente mysql a la imagen, haga lo que tengo que hacer y luego quítelo.
- Cree el esquema en otro servidor sql y copie el archivo db directamente (esto parece muy desordenado y me parece un grupo de problemas contaminados)
¿Alguna sugerencia? Con suerte, de una manera que sea fácil de mantener más tarde y tal vez también se ajuste a las mejores prácticas.