Докеризация базы данных PostgreSQL с существующими данными
Я пытаюсь докеризировать свой проект Django, но мой контейнер базы данных, похоже, не работает. Когда я инициализирую docker-compose up
, сервер запускается, но появляется сообщение о том, что у меня 53 непримененных миграции (все), и run python manage.py migrate
для миграции (как будто это пустая база данных). Мой docker-compose выглядит следующим образом:
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=database_name
- POSTGRES_USER=database_admin
- POSTGRES_PASSWORD=pskfnbiu42834h
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
environment:
- POSTGRES_DB=database_name
- POSTGRES_USER=database_admin
- POSTGRES_PASSWORD=pskfnbiu42834h
depends_on:
- db
И я изменил свое settings.py DATABASE
на следующее:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': os.environ.get('POSTGRES_NAME'),
'USER': os.environ.get('POSTGRES_USER'),
'PASSWORD': os.environ.get('POSTGRES_PASSWORD'),
'HOST': 'db',
'PORT': '5432',
}
}
Я думаю, что проблема может быть связана с частью volumes
. Docker создал папку data
в каталоге моего проекта с PostgreSQL
связанными файлами. Где находятся эти папки /var/lib/
? Кто-нибудь может сориентировать?