मेरे पास यही मुद्दा था जहां मैं अपने MySQL डॉकर इंस्टेंस की स्कीमा को प्रारंभ करना चाहता था, लेकिन कुछ गुगलिंग करने और दूसरों के उदाहरणों का पालन करने के बाद मुझे यह काम करने में कठिनाई हुई। यहां बताया गया है कि मैंने इसे कैसे हल किया।
1) अपने MySQL स्कीमा को एक फ़ाइल में डंप करें।
mysqldump -h <your_mysql_host> -u <user_name> -p --no-data <schema_name> > schema.sql
2) अपनी स्कीमा फ़ाइल को /docker-entrypoint-initdb.d
में जोड़ने के लिए ADD कमांड का उपयोग करें डॉकर कंटेनर में निर्देशिका। docker-entrypoint.sh
फ़ाइल ".sql"
. के साथ समाप्त होने वाली इस निर्देशिका की कोई भी फ़ाइल चलाएगी MySQL डेटाबेस के विरुद्ध।
डॉकरफाइल:
FROM mysql:5.7.15
MAINTAINER me
ENV MYSQL_DATABASE=<schema_name> \
MYSQL_ROOT_PASSWORD=<password>
ADD schema.sql /docker-entrypoint-initdb.d
EXPOSE 3306
3) डॉकर MySQL इंस्टेंस शुरू करें।
docker-compose build
docker-compose up
के लिए धन्यवाद डॉकरफाइल मुझे docker-entrypoint.sh पर और यह तथ्य कि यह SQL और शेल स्क्रिप्ट दोनों को चलाता है!