MySQL (और पेरकोना सर्वर जैसे वेरिएंट) डॉकर हब पेज ।
इस तकनीक का उपयोग करने वाला एक डॉकरफाइल ऐसा दिखेगा
FROM mysql:8
COPY seed-data.sql /docker-entrypoint-initdb.d/
नोट:स्लैश के पीछे वाली निर्देशिका महत्वपूर्ण है।
जब आप docker run
करते हैं यह छवि, डॉकटर कंटेनर बनाएगा, docker -entrypoint.sh
एसक्यूएल स्क्रिप्ट निष्पादित करेगा, और फिर कंटेनर डेटा की सेवा के लिए तैयार हो जाएगा।
कंटेनर पुनरारंभ के माध्यम से डेटा जारी रहेगा - बीज डेटा और बाद में संशोधन।
आप तेजी से स्टार्टअप समय के लिए कंटेनर का पुन:उपयोग कर सकते हैं - बाद के कंटेनर शुरू होने पर डेटाबेस को प्रारंभ करने या डेटा को बीजित करने की आवश्यकता नहीं होगी। जब आपको प्राचीन डेटा की आवश्यकता हो, तो कंटेनर को हटा दें और docker run
छवि फिर से।
जब आप कंटेनर को हटाते हैं, तो डीबी डेटा वाले डॉकर वॉल्यूम को हटाना याद रखें:docker rm -v $CONTAINER_NAME
।
मैं मानक डेटा प्रदान करने के लिए इस विधि का उपयोग करता हूं भाषा/फ्रेमवर्क पीओसी के साथ-साथ सीआई/सीडी के लिए। एक नया डेटाबेस शुरू करने और बड़ी मात्रा में डेटा को सीड करने में कुछ मिनट लग सकते हैं, इसलिए आप चाहते हैं कि कुछ तर्क स्वचालित संचालन को तब तक रोकें जब तक कि आप सफलतापूर्वक डीबी कनेक्शन नहीं बना लेते।
आशा है कि यह आपके रास्ते में आपकी मदद करेगा।