Docker-compose eş zamanlı değişiklik

Bir proje de backend ve frontendi aynı ‘docker-compose.yml’ dosyası ile çalıştırıyorum. daha sonra tarayıcıyı açıp uygulamayı inceleyebiliyorum. backend üzerinde yaptığım değişiklikler aynı anda uygulamayı etkilerken (tarayıcıda ya da terminalde etkisini hemen görebiliyorum) frontenddeki değişikliklerin etkilemesi için sistemi kapatıp yeniden başlatmam gerekiyor. Docker konusunda biraz bilinçsiz kullanıcı gibi hareket ediyorum, sağda solda gördüklerimi birleştirerek bir şeyler yapmaya çalışıyorum. Bu durumu yorumlayamadım. sebebi ne olabilir?

klasör yapısı docker dosyaları şöyle:

  • [project]
    • [backend]
      • Dockerfile
    • [frontend]
      • Dockerfile
    • docker-compose.yml
version: '3.7'

services:
  backend:
    build: ./backend
    container_name: backend
    command: python manage.py runserver 0.0.0.0:8000 # test ortamı
    restart: 'no'
    volumes:
      - ./backend/:/usr/src/app/
    ports:
      - 8000:8000
    env_file:
      - ./.env.dev
    depends_on:
      - db
  frontend:
    build: ./frontend
    container_name: frontend
    command: npm run serve
    restart: 'no'
    ports:
      - 8080:8080
    env_file:
      - ./.env.dev
    depends_on:
      - backend
  db:
    image: postgres:13.0-alpine
    container_name: database
    restart: 'no'
    volumes:
      - postgres_data:/var/lib/postgresql/data/
    env_file:
      - ./.env.dev
      
volumes:
  postgres_data:

backend dockerfile

# pull official base image
FROM python:3.8-alpine

# set work directory
WORKDIR /usr/src/app

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install psycopg2 dependencies
RUN apk update \
    && apk add icu-data-full\
    && apk add --no-cache curl gpg gnupg\
    && apk add --no-cache postgresql-dev gcc libc-dev g++ libffi-dev libxml2 python3-dev musl-dev unixodbc unixodbc-dev mariadb-dev

 
# install dependencies
RUN pip install --upgrade pip
COPY ./requirements.txt .
RUN pip install -r requirements.txt

# copy project
COPY . .

# run entrypoint.sh
ENTRYPOINT ["/usr/src/app/entrypoint.sh"]

frontend dockerfile

# pull official base image
FROM node:16.17-alpine

# set work directory
WORKDIR /app

# copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./

# install project dependencies
RUN apk update 
RUN npm install

# copy project
COPY ./ .

# build app for production with minification
RUN npm run build

EXPOSE 8080

CMD ["npm", "run", "serve"]

Merhaba, npm ile bunu sağlamak için hot-reload modulüne göz atabilirsiniz. Bu docker ile değil kullandığınız run time ile alakalı bir durum.

1 Beğeni