У меня есть 3 докерных контейнера. Один запущенный django, другой запущенный postgres и третий - контейнер данных для postgres. Я использую docker-compose, чтобы связать их.Docker: Подключите новый контейнер postgres к существующему контейнеру данных
докер-compose.yml
dbdata:
image: postgres
container_name: dbdata_container
volumes:
- ./data:/var/lib/postgresql/data
command: true
db:
image: postgres
container_name: postgres_container
ports:
- "5432:5432"
volumes_from:
- dbdata
web:
build: .
container_name: django_container
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
Я ошибочно удалил свой Postgres контейнер.
Как создать новый контейнер postgres, который соединяется с существующим контейнером данных?
Я попытался запустить:
docker-compose up
Это терпит неудачу с ошибкой при слежении:
web_1 | django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
При подключении к Postgres с помощью PgMastero я мог видеть только все таблицы в ней.
Просьба помочь
Jahan, если вы не удалили свой локальный каталог ./data, ваша база данных будет не повреждена. Проверьте, имеет ли ваш контейнер db разрешение на запись на том. –
спасибо, я думаю, что он не должен ничего делать с разрешениями. Сейчас я запускаю все три контейнера в качестве одного и того же пользователя, что является корневым инфатом. @ThiagoKronig –