簡體   English   中英

Nestjs 與 postgres 和 redis 在 docker 連接被拒絕

[英]Nestjs with postgres and redis on docker connection refused

我已經使用 postgres 和 redis 對 Nestjs 應用程序進行了 dockerize。 我該如何解決這個問題? Postgres 和 redis 拒絕 tcp 連接。 這是 docker-compose.yml 和控制台結果。 我正在為 redis 使用 typeorm 和 @nestjs/bull。

碼頭工人-compose.yml 碼頭工人-compose.yml-2

結果

希望多多幫助。 謝謝

使用docker-compose時,容器不一定需要指定它們所在的網絡,因為它們可以從容器名稱(例如postgresredis在您的情況下)相互訪問,因為它們位於同一網絡中。 有關詳細信息,請參閱Compose 中的網絡

另外, expose不做任何操作,是多余的。 由於您指定了ports ,因此告訴Docker容器的哪些端口被暴露並綁定到主機的哪些端口應該綽綽有余。

對於redis-alpine ,啟動命令為redis-server ,無需再次指定。 此外,在這種情況下,您指定的環境是多余的。

嘗試以下docker-compose.yaml並添加上述所有建議:

version: "3"

services:
  postgres:
    image: postgres:alpine
    restart: always
    ports:
      - 5432:5432
    volumes:
      - ./db_data:/var/lib/postgresql/data/
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=root
      - POSTGRES_DB=lighthouse

  redis:
    image: redis:alpine
    restart: always
    ports:
     - 6379:6379

希望這可以幫助。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM