【发布时间】:2021-09-21 21:35:08
【问题描述】:
编辑:Docker 似乎没有创建我的 postgres 数据库,即使我在我的 .env 文件中定义了它们。
我使用了docker-compose config,看起来 Docker 确认了我的数据:
environment:
POSTGRES_DB: animemusicsorter
POSTGRES_PASSWORD: root
POSTGRES_USER: waifuszn
但是当我运行docker-compose up 时,我得到了这些错误:
postgres | 2021-07-12 22:39:01.906 UTC [35] FATAL: password authentication failed for user "waifuszn"
postgres | 2021-07-12 22:39:01.906 UTC [35] DETAIL: Role "waifuszn" does not exist.
我已尝试删除卷并删除 postgres 并重新创建它们,但这也没有给我任何结果。
docker-compose.yml
version: '3.5'
services:
postgres:
container_name: postgres
image: postgres:11.6
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: ${DB_NAME}
POSTGRES_USER: ${DB_USER}
volumes:
- ~/srv/docker/template-postgres/data:/var/lib/postgresql/data:rw
django:
container_name: django
build:
context: .
dockerfile: ./conf/django/Dockerfile.windows
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
volumes:
- ./back:/app:rw
depends_on:
- postgres
env_file:
- .env
react:
container_name: react
build:
context: .
dockerfile: ./conf/react/Dockerfile
command: yarn run start:dev
ports:
- "4000:4000"
volumes:
- ./front/src:/app/src:rw
- ./front/public:/app/public:rw
【问题讨论】:
-
你在使用 docker-compose.yml 吗?如果有,可以分享一下吗?
-
我问是因为您还需要将 env 文件传递给 compose 中的 postgres 服务。
-
刚刚添加;抱歉,如果缩进搞砸了,代码块非常困难。很确定我在它的底部传递了 .env 文件;除非我做错了。
标签: python django postgresql docker