Поиск местоположения тома данных Docker в капле Digital Ocean
У меня есть django-cookiecutter
Проект работает в рамках Digital Ocean Droplet
,
проблема
Когда я создаю новую каплю и запускаю up
Впервые мой проект использует одну базу данных.
Даже когда я не изменяю .env
Настройки, обновленные изображения не будут использовать исходную базу данных или следовать моим .env
настройки, но создать новую отдельную базу данных (с новым именем и пользователем).
Доказательства
Первый раз я побежал up
все работало хорошо. у меня есть несколько celery
задачи, которые выполнялись и создали некоторые Django
объекты. Когда я открываю /admin
страница, я могу видеть эти объекты в моем Django
админ.
Теперь после этого первого изображения:
- Я делаю изменения
- Я перестраиваю изображение:
docker-compose -f production.yml build
- Я развернул изображение:
docker-compose -f production.yml up
На этом этапе журналы вернут ошибку аутентификации (даже если POSTGRES
настройки в моем .env
не изменились.
postgres_1 | 2018-06-03 20:45:19.645 UTC [110] FATAL: password authentication failed for user "xxxxxx"
postgres_1 | 2018-06-03 20:45:19.645 UTC [110] DETAIL: Password does not match for user "xxxxxx".
postgres_1 | Connection matched pg_hba.conf line 95: "host all all all md5"
Я проверяю следующее с этими шагами:
POSTGRES_USER
а такжеPOSTGRES_PASSWORD
не изменилисьdocker-compose -f production.yml exec postgres psql -U <my_pg_user>
- также не возвращаетPOSTGRES_USER
определены в моем.env
docker-compose -f production.yml exec postgres psql -U postgres
- работает и открывает командную строку Postgres\list
- не показывает мою базу данных, как я определяю в моем.env
Теперь, когда я перезапущу celery
задачи, чтобы увидеть, если они будут работать, они успешно. Затем я могу увидеть эти объекты в одной из баз данных, возвращенных с \list
, Тем не менее, эти объекты не отображаются в моем Django /admin
, Чтобы убедиться, что это не проблема кеширования, я ввожу оболочку Django и могу запросить эти вновь созданные объекты.
гипотеза
Похоже, что мой проект Docker создаст одну службу базы данных при начальной build
а затем создать отдельную службу базы данных.
Вопрос
Как я могу отследить местоположение каждого из этих сервисов и их объемы данных?