gpt4 book ai didi

django - 将现有数据库卷到容器的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 13:38:27 25 4
gpt4 key购买 nike

需要通过 docker 容器运行项目。我需要将现有数据库挂载到 postgres 容器。在我的 docker-compose.yml 中有下一个


services:

web:
build: .
env_file: .env
command: bash -c "python manage.py collectstatic --no-input && python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
ports:
- "8000:8000"
depends_on:
- redis
- postgres
restart: always
volumes:
- static:/static
expose:
- 8000
environment:
- .env
links:
- postgres
- redis

redis:
image: "redis:alpine"


postgres:
image: "postgres:10"
env_file:
- .env
volumes:
- POSTGRES_DATA:/var/lib/postgresql/data
ports:
- "5433:5432"
expose:
- 5433

volumes:
POSTGRES_DATA:
static:

来 self 的 .env 文件

POSTGRES_NAME=dbname
POSTGRES_USER=dbuser
POSTGRES_PASSWORD=dbpassword
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DATA=/var/lib/postgresql/10/main

但是在我的 web 容器中我有下一个日志

  File "/usr/local/lib/python3.7/site-packages/psycopg2/__init__.py", line 130, in connect
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: FATAL: database "dbname" does not exist

表示数据库挂载失败。但我真的找不到它发生的原因。

最佳答案

我不确定,但你可以试试这个命令:docker-compose down -v 来删除卷和容器

关于django - 将现有数据库卷到容器的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58976531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com