相关疑难解决方法(0)

连接:无法分配请求的地址

我收到来自 Docker 中的 Go 应用程序的以下错误消息:

panic: failed to connect to `host=localhost user=postgres-dev database=dev`: dial error (dial tcp [::1]:5432: connect: cannot assign requested address)
Run Code Online (Sandbox Code Playgroud)

出现在下一个Dockerfiledocker-compose.yml文件的环境中:

FROM golang:latest

WORKDIR /WD

COPY go.mod go.sum ./

RUN go mod download

COPY . .
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml文件中:

version: '3'
services:
    db:
        image: postgres:latest
        environment:
            POSTGRES_DB: dev
            POSTGRES_USER: postgres-dev
            POSTGRES_PASSWORD: [~secret~]
            ports: 5432:5432
    app:
        build: .
        command: ["./wait-for-it.sh", "db:5432", "--", "go", "run", "main.go"]
        volumes:
            - .:/WD
        ports:
            - "8000:8000"
        depends_on: 
            - db …
Run Code Online (Sandbox Code Playgroud)

postgresql docker

1
推荐指数
1
解决办法
6610
查看次数

Docker-compose Postgres 连接被拒绝

我在 docker-compose 上使用 pg-admin 和 GO 运行 Postgres DB。

问题:我可以从pg-admin到连接Postgres。但无法从 建立连接Go

我尝试了不同的身份验证字符串组合,但它不起作用。字符串格式与此处https://github.com/karlkeefer/pngr相同- 但容器名称不同 -database

(错误)连接 URl:

backend_1         | 2021/08/08 14:24:40 DB connection: database://main:fugZwypczB94m0LP7CcH@postgres:5432/temp_db?sslmode=disable
backend_1         | 2021/08/08 14:24:40 Unalble to open DB connection: dial tcp 127.0.0.1:5432: connect: connection refused
Run Code Online (Sandbox Code Playgroud)

(URI 生成与此处相同https://github.com/karlkeefer/pngr

码头工人:

version: '3.8'
services:
  backend:
    restart: always
    build: 
      context: backend
      target: dev
    volumes:
      - ./backend:/root
    ports:
      - "5000:5000"
    env_file: .env
    depends_on: 
      - database
  database:
    build: database
    restart: always
    environment: …
Run Code Online (Sandbox Code Playgroud)

postgresql go docker docker-compose

1
推荐指数
1
解决办法
77
查看次数

标签 统计

docker ×2

postgresql ×2

docker-compose ×1

go ×1