【问题标题】:How to open postgres db and see the tables (Django+Postgres+Docker) [duplicate]如何打开postgres db并查看表(Django + Postgres + Docker)[重复]
【发布时间】:2022-07-07 06:30:14
【问题描述】:

我开始使用 Django+PostgreSQL 学习 docker,我从那里完成了所有步骤 https://docs.docker.com/samples/django/

如何在终端或 pgAdmin 上打开创建的数据库以查看表并更改它们?

我使用:Ubuntu 22.04 / Docker Engine 20.10.17 / Docker Compose 版本 v2.6.1 / psycopg2-binary==2.9.3 / Django==4.0.6 / psql (13.7 (Ubuntu 13.7-1.pgdg22.04 +1))

我的 docker-compose.yml:

version: "3.9"

services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    environment:
      - POSTGRES_NAME=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    depends_on:
      - db

我的设置.py:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'NAME': os.environ.get('POSTGRES_NAME'),
    'USER': os.environ.get('POSTGRES_USER'),
    'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
    'HOST': 'db',
    'PORT': 5432,
}
}

如果需要一些信息,创建的 postgres 文件归 root 所有:

postgres file 1/2

postgres file 2/2

docker-compose commands

感谢您的回答!

【问题讨论】:

    标签: django postgresql docker docker-compose pgadmin


    【解决方案1】:

    你试过了吗?

    docker exec -it {your postgres container name} psql -U {your db username} {your db name}
    

    或者干脆

    docker compose exec {service name} manage.py dbshell
    

    【讨论】:

    • 是的,但没有:imgur.com/a/zRi9Bd0
    • 当您运行这些命令时,确切的结果是什么?有什么错误信息吗?
    猜你喜欢
    • 2022-07-18
    • 1970-01-01
    • 2016-01-06
    • 2018-03-05
    • 2016-03-18
    • 1970-01-01
    • 2016-12-30
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多