मैं mysql के शीर्ष पर एक डॉक इमेज बनाना चाहता हूं जिसमें पहले से ही मेरे ऐप के लिए आवश्यक योजना है।
मैंने Dockerfile में लाइनें जोड़ने की कोशिश की जो कि मेरी स्कीम को sql फ़ाइल के रूप में आयात करेगी। मैंने ऐसा ही किया (मेरी डॉकरीफाइल):
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"
मेरी समझ में, यह काम नहीं किया क्योंकि mysql docker की छवि में mysql क्लाइंट नहीं है (सर्वोत्तम प्रथाओं राज्य "चीजों को केवल इसलिए नहीं जोड़ते हैं क्योंकि वे अच्छा होगा") () (क्या मैं इस बारे में गलत हूं?)
ऐसा करने का एक अच्छा तरीका क्या हो सकता है? मेरे मन में कुछ बातें थीं, लेकिन वे सब गन्दे काम की तरह लगती हैं।
- mysql क्लाइंट स्थापित करें, मुझे इसके साथ क्या करना है, इसे हटा दें / फिर इसे शुद्ध करें।
- छवि को mysql क्लाइंट बाइनरी कॉपी करें, मुझे जो करना है वह करें, फिर इसे हटा दें।
- एक और sql सर्वर में स्कीमा बनाएँ और सीधे db फ़ाइल को कॉपी करें (यह बहुत ही गन्दा लगता है और मुझे समस्याओं के दूषित पूल की तरह लगता है)
कोई सुझाव? एक तरह से उम्मीद है कि बाद में बनाए रखना आसान होगा और शायद सबसे अच्छी प्रथाओं के अनुरूप हो?