在我的本地计算机上安装 Taguette 时出现问题

问题描述 投票:0回答:1

在服务器上安装 taguette 之前,我想确保我能够使用 taguette 的 docker 教程(self-host-taguette)在自己的计算机上启动并运行它。但是,无论是否使用 docker compose,我似乎都无法使其运行。这是我的步骤:

  1. 我拉出了 taguette docker 镜像
  2. 我使用网站给出的代码创建了一个 docker-compose.yml 文件:
version: "2.4"
services:
  taguette:
    image: quay.io/remram44/taguette
    command: ["server", "/config.py"]
    ports: ["127.0.0.1:7465:7465"]
    volumes:
      - "./config.py:/config.py:ro"
      - "./data:/data"
  1. 首先,我在这里尝试直接在compose中添加数据库(看起来更简单、更优雅)。我定义了 postgresuser 和密码,depends_on 等。它不起作用。
  2. 其次,我在计算机上的 postgres 上创建了一个数据库,以将该数据库连接到我的 taguette 实例。 (数据库名称:taguette)。
  3. 在配置文件中,我定义了 DATABASE_URL 如下: DATABASE = "postgresql://postgres:postgres@localhost:5432/taguette"
  4. 我重新初始化了我的 postgres 密码和用户以匹配链接。
  5. 我运行了 docker compose up,但收到此错误:

psycopg2.OperationalError: could not connect to server: Connection refused desktop-taguette-1  |   Is the server running on host "127.0.0.1" and accepting desktop-taguette-1  |   TCP/IP connections on port 5432?

我检查了端口是否真的是 5432(确实如此),以及 postgres 是否正在运行(确实如此)。 我认为我的问题是我没有正确安装 psycopg2-binary。

如果这是问题所在,我必须如何以及在哪里安装它? taguette 的文档对此并不清楚。如果我的过程中还有其他问题,请告诉我。

postgresql docker database-connection psycopg2
1个回答
0
投票

将其添加到 docker-compose.yml 文件中的服务下:

services:
  ...what you had for taguette...

  postgresql:
    restart: unless-stopped
    image: postgres:16
    networks:
      mynetwork:
        aliases:
          - postgresql
    ports:
      - 5432:5432
    environment:
      - POSTGRES_USER=pyuser
      - POSTGRES_PASSWORD=pgpassword
      - POSTGRES_DB=taguette
    volumes:
      - pg-db:/var/lib/postgresql/data

networks:
  mynetwork:

volumes:
  pg-db:

然后使用此 URL 进行连接:

postgresql://pyuser:pgpassword@postgresql:5432/taguette
© www.soinside.com 2019 - 2024. All rights reserved.