Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Node.js terhubung ke wadah MySQL Docker ECONNREFUSED

Ini:

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

Berarti Docker akan memetakan 3307 port host ke 3306 pelabuhan kontainer. Jadi Anda dapat mengakses dari Sekuel ke localhost:3307 .

Namun, itu tidak berarti bahwa penampung mendengarkan 3307; wadah sebenarnya masih mendengarkan 3306 . Saat kontainer lain mencoba mengakses mysql DNS, itu diterjemahkan ke IP wadah internal, oleh karena itu Anda harus terhubung ke 3306 .

Jadi konfigurasi simpul Anda akan terlihat seperti:

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

Dan ini di docker-compose.yml Anda:

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. Menghapus angka dari string di mysql

  2. Baris MySQL menjadi jumlah kolom dan jumlah

  3. Serialisasi 'Penutupan' tidak diperbolehkan - laravel

  4. Tabel MySQL dengan beberapa nilai dalam satu bidang

  5. php menyisipkan beberapa baris dalam database MYSQL