Python postgres的Docker角色不';不要和django在一起

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容器,它从另一个主机获取postgres数据库

看起来我的docker compose文件正在连接到数据库 但是当我跑的时候

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',
    }
}