亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

docker 中的 Postgres 拒絕來自我的服務器的連接

docker 中的 Postgres 拒絕來自我的服務器的連接

Go
守候你守候我 2022-12-05 16:52:18
我有一個 Golang 服務器和在 docker compose 中運行的 Postgres 實例。出于某種原因,Postgres 拒絕連接。從我以前的所有搜索來看,通常問題是錯字,沒有暴露端口,有 SSL 等等,但我沒有發生類似的事情并且仍然有這個問題version: "3.2"services:  ingress:    image: jwilder/nginx-proxy    ports:      - "3000:80"    volumes:      - /var/run/docker.sock:/tmp/docker.sock:ro  auth-service:    depends_on:      - rabbitmq      - auth-db      - ingress    build: ./auth    container_name: "auth-service"    ports:      - 3001:3000    environment:      - POSTGRES_USER=postgres      - POSTGRES_PASSWORD=postgres      - POSTGRES_HOST=auth-db      - POSTGRES_DB=auth-dev      - POSTGRES_PORT=5435      - PORT=3000      - RABBITMQ_USER=guest      - RABBITMQ_PASSWORD=guest      - RABBITMQ_HOST=rabbitmq      - RABBITMQ_PORT=5672      - VIRTUAL_HOST=api.twitchy.dev      - VIRTUAL_PATH=/v1/auth/    deploy:      restart_policy:        condition: on-failure        delay: 5s        max_attempts: 3        window: 120s    # networks:    #   - rabbitmq_net    #   - default  rabbitmq:    image: rabbitmq:3-management-alpine    container_name: "rabbitmq"    ports:      - 5672:5672      - 15672:15672    volumes:      - rabbitmq_data:/var/lib/rabbitmq/      - rabbitmq_log:/var/log/rabbitmq/    # networks:    #   - rabbitmq_net  auth-db:    image: postgres:14.1-alpine    restart: always    container_name: "auth-db"    environment:      - POSTGRES_USER=postgres      - POSTGRES_PASSWORD=postgres      - POSTGRES_DB=auth-dev    ports:      - "5435:5432"    volumes:      - db:/var/lib/postgresql/data  chat-db:    image: postgres:14.1-alpine    restart: always    container_name: "chat-db"    environment:      - POSTGRES_USER=postgres      - POSTGRES_PASSWORD=postgres      - POSTGRES_DB=chat-dev    ports:      - "5434:5432"    volumes:      - db:/var/lib/postgresql/data# networks:#   rabbitmq_net:#     driver: bridgevolumes:  db:    driver: local  rabbitmq_data:  rabbitmq_log:
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

當您在 docker-compose 中映射端口時,比如說"5435:5432",您正在將5435HOST 機器5432上的端口映射到 CONTAINER 上。但是,auth-service定義中的 db url 使用的是服務名稱auth-db,因此您實際上是直接訪問 db 容器,而不是通過主機。因為 db 容器不公開5435,所以您無法使用 port 進行連接5435。例如,如果您嘗試從您的主機連接到數據庫,您可能會使用 port5435localhost.



查看完整回答
反對 回復 2022-12-05
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號