आपको data_volume
को साफ़ करना चाहिए कंटेनर चलाने से पहले और sql फ़ाइलें निष्पादित की जाएंगी। यह वॉल्यूम data_volume
कमांड का उपयोग करके हटाया जा सकता है:docker volume rm data_volume
।
आपकी समस्या का मूल कारण docker-entrypoint.sh
. में पाया जा सकता है . जब आप एक mysql कंटेनर चलाते हैं, तो यह mysql निर्देशिका की जाँच करता है /var/lib/mysql
मौजूद है या नहीं। यदि निर्देशिका मौजूद नहीं है (इसे पहली बार चलाएँ), तो यह आपकी SQL फ़ाइलों को चलाएगी।
if [ ! -d "$DATADIR/mysql" ]; then
//Some other logic here
for f in /docker-entrypoint-initdb.d/*; do
case "$f" in
*.sh) echo "$0: running $f"; . "$f" ;;
*.sql) echo "$0: running $f"; "${mysql[@]}" < "$f"; echo ;;
*.sql.gz) echo "$0: running $f"; gunzip -c "$f" | "${mysql[@]}"; echo ;;
*) echo "$0: ignoring $f" ;;
esac
echo
done