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

Node.js MySQL डॉकर कंटेनर से कनेक्ट होता है ECONNREFUSED

यह:

mysql:
    image: mysql:5.7
    environment:
    ...
    ports:
      - "3307:3306"

इसका मतलब है कि डॉकर 3307 को मैप करेगा होस्ट का पोर्ट 3306 . पर कंटेनर का बंदरगाह। तो आप सीक्वल से localhost:3307 तक पहुंच सकते हैं ।

हालांकि, इसका मतलब यह नहीं है कि कंटेनर 3307 सुन रहा है; कंटेनर वास्तव में अभी भी सुन रहा है 3306 . जब अन्य कंटेनर mysql तक पहुंचने का प्रयास करते हैं DNS, यह आंतरिक कंटेनर IP में अनुवादित हो जाता है, इसलिए आपको 3306 . से कनेक्ट करना होगा ।

तो आपका नोड कॉन्फिगर इस तरह दिखना चाहिए:

const config = {
    host: 'mysql',
    database: 'mydb',
    port: '3306',
    user: 'mysql',
    password: '1234',
    connectionLimit: 10
}

और यह आपके docker-compose.yml में:

command: ["./wait-for-it.sh", "mysql:3306"]



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक ही मॉडल केकेपीएचपी से कई संबंध

  2. MYSQL और क्वेरी एक ही कॉलम पर संतुष्ट करने के लिए

  3. BIN () - MySQL में किसी संख्या का बाइनरी मान प्राप्त करें

  4. एक संपूर्ण MySQL डेटाबेस कैरेक्टरसेट और संयोजन को UTF-8 में कैसे बदलें?

  5. MySQL:फ़ील्ड को 0 पर सेट करने वाली सभी पंक्तियों को अपडेट करना, लेकिन एक पंक्ति के फ़ील्ड को 1 पर सेट करना