Python postgres的Docker角色不';不要和django在一起
我正在运行一个docker容器,它从另一个主机获取postgres数据库 看起来我的docker compose文件正在连接到数据库 但是当我跑的时候Python postgres的Docker角色不';不要和django在一起,python,django,postgresql,docker,Python,Django,Postgresql,Docker,我正在运行一个docker容器,它从另一个主机获取postgres数据库 看起来我的docker compose文件正在连接到数据库 但是当我跑的时候 docker exec-it容器python manage.py makemigrations 或 docker exec-it容器python manage.py createsuperuser 我明白了 这是docker compose文件的db部分 db: image: postgres environment:
docker exec-it容器python manage.py makemigrations
或
docker exec-it容器python manage.py createsuperuser
我明白了
这是docker compose文件的db部分
db:
image: postgres
environment:
- POSTGRES_HOST=host_ip
- POSTGRES_USER=postgres_user
- POSTGRES_PASSWORD=bad_password
- POSTGRES_DB=postgres_database
- POSTGRES_PORT=5432
ports:
- "5434:5432"
volumes:
- postgresql-data:/var/lib/postgresql/data
restart: always
这是我在my settings.py中的数据库设置
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres_database',
'USER': 'postgres_user',
'PASSWORD':'bad_password',
'HOST': 'db',
'PORT': '5432',
}
}
运行psql-host\U-db\U-ip-U-postgres\U-user-W
工作正常,我能够连接。我尝试删除所有docker图像、容器和系统,并重建所有内容。我猜docker密码中有哈希问题
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres_database',
'USER': 'postgres_user',
'PASSWORD':'bad_password',
'HOST': 'db',
'PORT': '5432',
}
}