Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Node.js kết nối với vùng chứa MySQL Docker ECONNREFUSED

Cái này:

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

Có nghĩa là Docker sẽ ánh xạ 3307 cổng của máy chủ tới 3306 cảng của container. Vì vậy, bạn có thể truy cập từ Sequel đến localhost:3307 .

Tuy nhiên, điều đó không có nghĩa là vùng chứa được liệt kê đến 3307; thực tế vùng chứa vẫn đang nghe 3306 . Khi những vùng chứa khác cố gắng truy cập vào mysql DNS, nó được dịch sang IP vùng chứa bên trong, do đó bạn phải kết nối với 3306 .

Vì vậy, cấu hình nút của bạn sẽ giống như sau:

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

Và cái này trong docker-compo.yml của bạn:

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. Tạo tổng ROLLING trong một khoảng thời gian trong mysql

  2. mysql thay đổi tất cả các giá trị trong một cột

  3. Tổng quan về nhân rộng cụm-thành-cụm

  4. Làm thế nào để đồng bộ cơ sở dữ liệu SQLite trên điện thoại Android với cơ sở dữ liệu MySQL trên máy chủ?

  5. Python MySQLdb / MySQL CHÈN BỎ QUA &Kiểm tra nếu bị bỏ qua