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

ECONNREFUSED cho Postgres trên nodeJS với dockers

DATABASE_URL của bạn tham chiếu đến 127.0.0.1 , là bộ điều hợp lặp lại (xem thêm tại đây). Điều này có nghĩa là "kết nối với chính tôi".

Khi chạy cả hai ứng dụng (không sử dụng Docker) trên cùng một máy chủ, cả hai đều có thể định địa chỉ trên cùng một bộ điều hợp (còn được gọi là localhost ).

Khi chạy cả hai ứng dụng trong vùng chứa, chúng không còn trên localhost như trước. Thay vào đó, bạn cần trỏ web vùng chứa vào db địa chỉ IP của vùng chứa trên docker0 bộ điều hợp - mà docker-compose bộ cho bạn.

Thay đổi:

127.0.0.1 tới CONTAINER_NAME (ví dụ:db )

Ví dụ:

DATABASE_URL: postgres://username:[email protected]:5432/mydatabase

đến

DATABASE_URL: postgres://username:[email protected]:5432/mydatabase

Điều này hoạt động nhờ các liên kết Docker:web vùng chứa có một tệp (/etc/hosts ) với một db mục nhập trỏ đến IP mà db vùng chứa đang bật. Đây là nơi đầu tiên hệ thống (trong trường hợp này là vùng chứa) sẽ xem xét khi cố gắng phân giải tên máy chủ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểm tra hàm null với các tham số khác nhau

  2. Cách bật đăng nhập truy vấn chậm trong PostgreSQL

  3. nhầm lẫn cổng postgresql 5433 hay 5432?

  4. Lỗi Ruby / PgSQL khi khởi động Rails:không thể tải tệp như vậy - pg_ext (LoadError)

  5. Điều cần kiểm tra xem Khả năng sử dụng bộ nhớ PostgreSQL có cao không