【问题标题】:Django, Docker, postgreSQL Accepting TCP/IP connections on port 5432?Django、Docker、postgreSQL 接受端口 5432 上的 TCP/IP 连接?
【发布时间】:2021-01-14 00:53:57
【问题描述】:

我正在使用 Docker,我收到了这条消息:

Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432?

这是我的 docker-compose :

version: '3.7'

services:
  web:
    container_name: web
    build:
      context: .
      dockerfile: Dockerfile
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/usr/src/web/
    ports:
      - 8000:8000
      - 3000:3000
    stdin_open: true
    depends_on:
      - db

  db:
    container_name: db
    image: postgres:12.0-alpine
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=pass
      - POSTGRES_DB=mydb
      - POSTGRES_HOST=localhost
volumes:
  postgres_data:

我将settings.py中参数'HOST'的值更改为db,但它不起作用我仍然有这个错误。

你能帮帮我吗?

【问题讨论】:

  • 哪个命令,在哪个环境中,会产生该错误消息?您实际上是如何配置数据库位置的?
  • Is the server running on host "localhost" (::1) and accepting TCP/IP connections on port 5432? 似乎是一个足够的问题。是吗?

标签: django postgresql docker docker-compose


【解决方案1】:

检查您的旧 postgres 服务器是否正常关闭。 您可以通过

删除旧的 docker 图像

docker rmi -f $(docker images -a -q)

码头集装箱修剪

然后运行你的 docker-compose

docker-compose up --build

希望这会奏效。我遇到了类似的错误,因为我在我的本地主机上运行了另一个 postgresql。 您还可以安装 postgres 应用程序,该应用程序将帮助您的数据库强制启动和强制关闭您的 postgres 服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 2017-06-09
    • 2018-01-20
    • 2016-11-22
    • 2018-12-17
    • 1970-01-01
    • 2016-05-30
    相关资源
    最近更新 更多