Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL की स्थापना और Dockerfile के भीतर डंप आयात करना

आधिकारिक mysql docker image का नवीनतम संस्करण आपको स्टार्टअप पर डेटा आयात करने की अनुमति देता है। यहाँ मेरा docker-compose.yml है

data:
  build: docker/data/.
mysql:
  image: mysql
  ports:
    - "3307:3306"
  environment:
    MYSQL_ROOT_PASSWORD: 1234
  volumes:
    - ./docker/data:/docker-entrypoint-initdb.d
  volumes_from:
    - data

यहाँ, मेरे पास docker/data . के अंतर्गत मेरा data-dump.sql है जो उस फ़ोल्डर के सापेक्ष है जिससे docker-compose चल रहा है। मैं उस sql फ़ाइल को इस निर्देशिका में बढ़ा रहा हूँ /docker-entrypoint-initdb.d कंटेनर पर।

यदि आप यह देखना चाहते हैं कि यह कैसे काम करता है, तो उनके docker-entrypoint.sh गिटहब में। उन्होंने डेटा आयात करने की अनुमति देने के लिए इस ब्लॉक को जोड़ा है

    echo
    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 ;;
            *)     echo "$0: ignoring $f" ;;
        esac
        echo
    done

एक अतिरिक्त नोट, यदि आप चाहते हैं कि डेटा mysql कंटेनर के बंद होने और हटाए जाने के बाद भी बना रहे, तो आपके पास एक अलग डेटा कंटेनर होना चाहिए जैसा कि आप docker-compose.yml में देखते हैं। डेटा कंटेनर Dockerfile की सामग्री बहुत सरल है।

FROM n3ziniuka5/ubuntu-oracle-jdk:14.04-JDK8

VOLUME /var/lib/mysql

CMD ["true"]

दृढ़ता के लिए डेटा कंटेनर का प्रारंभ स्थिति में होना भी आवश्यक नहीं है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. IF NOT EXIST . के लिए दोहरी स्थिति के साथ MySQL INSERT INTO

  2. टिप्पणी मतदान डेटाबेस संरचना के लिए सर्वोत्तम अभ्यास

  3. MySQL में एकाधिक तालिकाओं से कैसे हटाएं?

  4. कीवर्ड बनाम ON क्लॉज का उपयोग करना - MYSQL

  5. अद्यतन, INSERT, DELETE पर php के माध्यम से WHERE क्लॉज के लिए mysql पंक्ति आईडी का चयन कैसे करें?