Chcę utworzyć obraz dokera na szczycie mysql, który już zawiera schemat niezbędny dla mojej aplikacji.
Próbowałem dodać wiersze do pliku Docker, który zaimportuje mój schemat jako plik sql. Zrobiłem to jako takie (mój plik Docker):
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"
W moim rozumieniu, to nie zadziałało, ponieważ obraz dokowanego mysql nie zawiera klienta mysql (najlepsze praktyki stwierdzają, że „nie dodawaj rzeczy tylko dlatego, że będą miło mieć”) (czy się mylę?)
co może być dobrym sposobem na to? Miałem na myśli kilka rzeczy, ale wszystkie wydają się być niechlujnymi obejściami.
- zainstaluj klienta mysql, zrób to, co mam z nim zrobić, a następnie usuń / wyczyść go.
- skopiuj plik binarny klienta mysql do obrazu, zrób to, co muszę, a następnie usuń go.
- Utwórz schemat na innym serwerze sql i skopiuj bezpośrednio plik db (wydaje się to bardzo niechlujne i brzmi jak skażona pula problemów)
Jakieś sugestie? Mam nadzieję, że w sposób, który będzie później łatwy do utrzymania i być może zgodny z najlepszymi praktykami?