Как импортировать базу данных Postgres в контейнер docker?
Я пытаюсь импортировать дамп PostgreSql в контейнер docker, но это не работает
Dockerfile:
FROM postgres
COPY postgres.sql /docker-entrypoint-initdb.d/
version: "3.9"
docker-compose.yml
services:
db:
build: ./DB
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=gamenews
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=321678
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
environment:
- POSTGRES_NAME=gamenews
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=321678
depends_on:
- db
структура:
Я бы посоветовал вам использовать правильный образ Postgres:
postgres:
image: postgres:13
volumes:
- '.:/app:rw'
- 'postgres:/var/lib/postgresql/data'
Вот список всех тегов, которые вы можете использовать: https://hub.docker.com/_/postgres
Просто раскрутите его, ваш том отобразит данные на ваш hd, так что они не будут эфемерными в контейнере, затем вы можете запустить pg_restore
на вашем файле дампа.