Мой docker -компонентный файл имеет следующий вид:
version: '3'
services:
database:
image: postgres
restart: always
environment:
POSTGRES_PASSWORD: qwerty
POSTGRES_USER: qwerty
backend:
depends_on:
- database
build:
#Dockerfile used here will use python image,build the django project and run using uwsgi in port 4000
context: .
dockerfile: dockerfile_uwsgi
ports:
- "4000:4000"
image: backend_img
environment:
DB_HOST: database
DB_NAME: qwerty
DB_USER: qwerty
DB_PASSWORD: qwerty
migration:
depends_on:
- backend
image: backend_img
entrypoint: ["sh", "-c"]
command: ["
python manage.py collectstatic --noinput;
python manage.py makemigrations;
python manage.py migrate;"]
environment:
DB_HOST: database
DB_NAME: qwerty
DB_USER: qwerty
DB_PASSWORD: qwerty
frontend:
depends_on:
- backend
build:
#The dockerfile used her uses nginx image, it is configured to act as reverse proxy and serve static files.
context: .
dockerfile: dockerfile_nginx
ports:
- "9443:8443"
Объяснение о docker-compose.yaml
: здесь внутренний контейнер настраивает проект django и обслуживает проект с использованием uwsgi, используя то же изображение Контейнер миграции будет собирать файлы stati c из всех каталогов приложения и заполнять их в текущем рабочем каталоге контейнера. Контейнер внешнего интерфейса - nginx, который действует как обратный прокси-сервер. Также я хотел бы подать файлы stati c из контейнера nginx.
Проблема, с которой я здесь сталкиваюсь, заключается в том, что я хочу, чтобы файлы stati c, созданные контейнером миграции, появлялись во внешнем интерфейсе. контейнер. Так что nginx может обслуживать файлы c. Как это можно сделать? Если предположим, что дизайн не должен быть таким, как он показан здесь, пожалуйста, предложите мне, как это можно изменить, чтобы выполнить требование?
Я знаю, что с помощью общего тома это можно сделать. Но я не хочу использовать общий том, так как данные, заполняемые на общий том, сохранятся в нем и предположим, что если разработчик изменит содержимое stati c в папке приложения, изменения не будут внесены в том, если только монтирование тома точка сливается. Это основано на том, что я наблюдал, пожалуйста, поправьте меня, если я ошибаюсь.