无法从docker-compose连接到Postgres数据库

时间:2019-10-28 04:16:10

标签: postgresql docker docker-compose

我想使用docker-compose将Postgres数据库与我在nodejs中构建的应用程序一起使用。我构建了代码,并将其与docker-compose一起使用,如文件中所示。然后使用DB_HOST环境变量连接数据库。 我正在为docker-compse.yml文件使用以下代码

version: '3'
services:
  db:
    image: postgres
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: postgres
      POSTGRES_USER: postgres
      POSTGRES_DB: type

  server:
    image: hardik/type:1.0.0
    ports:
      - '3001:4000'
    environment:
      DB_HOST: db
    depends_on:
      - 'db'

但是它无法连接到数据库,并显示错误消息“连接被拒绝”

1 个答案:

答案 0 :(得分:0)

以下是用于带有postgres数据库的安装节点应用程序的docker-compose文件。

 networks:
  main:
 volumes:
  db-postgres:
 services:
  app:
   container_name: app
   image: node:latest
   restart: always
   volumes:
     - ./app:/home/node/app
   working_dir: /home/node/app
   ports:
    - 3000:3000
   networks:
    - main
   command: "npm start"
   depends_on:
    - db

   db:
    container_name: db
    image: postgres:latest-pg11
    restart: always
    environment:
      - POSTGRES_USER= 'xyz'
      - POSTGRES_PASSWORD='pwd0123456789'
      - POSTGRES_DB= 'testdb'
    networks:
      - main
    volumes:
      - db-postgres:/var/lib/postgresql/data