Подключение локальных данных к проекту Docker Django
Это вопрос, чтобы понять, какой практике лучше всего следовать, чтобы соединить точки в споре. В настоящее время я разрабатываю Dockerized Django веб-сайт. На этом сайте одно из приложений будет называться 'dashboards', где я хочу публиковать данные, которые в настоящее время хранятся локально в .csv
(обновляются каждый день с помощью запланированных задач).
Теперь я пытаюсь понять, какими должны быть следующие шаги, чтобы подключить эти данные к докеризованному сайту Django. Моим первым предположением было бы запланировать локально .sql
скрипты для "добавления" новых данных в базу данных, которую я могу создать локально. Затем подключить эту базу данных к сайту Dockerized Django через volumes, принадлежащему службе postgreSQL. Это просто предположение, которое мне нужно проверить. Но есть ли способ пропустить все локально и просто сделать работу внутри моего Docker-контейнера ?
Вы можете найти репозиторий Github здесь. Большое спасибо!
docker-compose.yml:
version: '3.8'
services:
web:
restart: always
build: ./web
expose:
- "8000"
links:
- postgres:postgres
- redis:redis
volumes:
- web-django:/usr/src/app
- web-static:/usr/src/app/static
env_file: .env
environment:
DEBUG: 'true'
command: /usr/local/bin/gunicorn docker_django.wsgi:application -w 2 -b :8000
nginx:
restart: always
build: ./nginx/
ports:
- "80:80"
volumes:
- web-static:/www/static
links:
- web:web
postgres:
restart: always
image: postgres:latest
hostname: postgres
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data/
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
pgadmin:
image: dpage/pgadmin4
depends_on:
- postgres
ports:
- "5050:80"
environment:
PGADMIN_DEFAULT_EMAIL: pgadmin4@pgadmin.org
PGADMIN_DEFAULT_PASSWORD: admin
restart: unless-stopped
redis:
restart: always
image: redis:latest
ports:
- "6379:6379"
volumes:
- redisdata:/data
volumes:
web-django:
web-static:
pgdata:
redisdata:
Dockefile:
FROM python:3.7-slim
RUN python -m pip install --upgrade pip
COPY requirements.txt requirements.txt
RUN python -m pip install -r requirements.txt
COPY . .