Запуск узловых вещей в docker (Django, Angular)

У меня есть проект frontend(angular) внутри проекта backend(django) с такой структурой [структура][1]

compose.yml

services:
  db:
    image: postgres:13-alpine
    container_name: db
    restart: always
    env_file: .env.dev
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
      - POSTGRES_USER=stage
      - POSTGRES_PASSWORD=stage
      - POSTGRES_DB=stage
    volumes:
      - postgres_data:/var/lib/postgresql/data/
  web:
    build:
      context: .
      dockerfile: Dockerfile
    image: web
    container_name: web
    env_file: .env.dev
    environment:
      - POSTGRES_USER=stage
      - POSTGRES_PASSWORD=stage
      - POSTGRES_DB=stage
    restart: always
    volumes:
      - ./:/leostudy
    links:
      - db
    depends_on:
      - db
    ports:
      - "8000:8000"
    command: "python manage.py runserver 0.0.0.0:8000"
  redis:
    image: "redis:alpine"
    expose:
      - 6379
  celery:
    restart: always
    build:
      context: .
    command: celery -A students worker -l info
    env_file:
      - ./.env.dev
    volumes:
      - ./:/leostudy/
    depends_on:
      - db
      - redis
      - web

volumes:
  postgres_data:

Dockerfile

# set work directory
WORKDIR /proj
# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# install psycopg2 dependencies
RUN apk update \
    && apk add postgresql-dev gcc python3-dev musl-dev libffi-dev openssl-dev

RUN apk --update add \
    build-base \
    jpeg-dev \
    zlib-dev
# install dependencies
COPY ./requirements.txt .
RUN pip install --upgrade pip \
    && pip install -U pip setuptools \
    && pip install -r requirements.txt

# copy project
COPY . .
# run entrypoint.sh
RUN ["chmod", "+x", "./entrypoint.sh"]
ENTRYPOINT ["./entrypoint.sh"]

Итак, мне нужно как-то собрать статику с помощью gulp внутри контейнера следующим образом:

WORKDIR /proj/frontend

RUN npm install

RUN gulp build

Какой лучший способ сделать это? Буду рад, если вы напишите какой-нибудь код. help [1]: https://i.stack.imgur.com/390PR.png

Вернуться на верх