Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1.2K
Vistas
¿Cómo puedo hacer que mi contenedor docker se actualice con los cambios en mis archivos fuente?

Estoy creando una aplicación Django/React usando docker-compose, y me gustaría que vuelva a cargar mis aplicaciones cuando se realice un cambio, hasta ahora he intentado agregar CHOKIDAR_USEPOLLING , agregar npm-watch a mi paquete.json, pero no parece ser capaz de detectar cambios en el archivo host.

Idealmente, no quiero tener que ejecutar docker-compose up --build cada vez que hago un cambio, ya que hace que el desarrollo sea tedioso.

editar: debo mencionar que las aplicaciones se recargan y se ejecutan fuera de la ventana acoplable (npm start (cra default) y python manage.py runserver) como se esperaba.

Los cambios se detectan dentro del contenedor, pero la aplicación de reacción no se reconstruirá.

Estoy usando Windows 10 también.

¿Hay algún problema con mis archivos o algo más que debería estar haciendo aquí?

docker-compose.yml

 version: "3.9" services: db: container_name: db image: postgres volumes: - ./data/db:/var/lib/postgresql/data environment: - POSTGRES_DB=postgres - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres backend: container_name: backend build: ./backend command: python manage.py runserver 0.0.0.0:8000 volumes: - .:/core ports: - "8000:8000" depends_on: - db frontend: container_name: frontend build: ./frontend command: npm start volumes: - './frontend:/app/' - '/frontend/node_modules' ports: - "3000:3000" environment: - CHOKIDAR_USEPOLLING=true depends_on: - backend # Enable interactive terminal (crucial for react container to work) stdin_open: true tty: true

Dockerfile back-end

 FROM python:3 ENV PYTHONUNBUFFERED=1 WORKDIR /code/ COPY requirements.txt /code/ RUN pip install -r requirements.txt COPY . /code/

Dockerfile de interfaz

 FROM node:16 WORKDIR /app/ COPY package*.json /app/ RUN npm install COPY . /app/ EXPOSE 3000 CMD ["npm", "start"]
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En lugar de copiar, debe montar los volúmenes directamente en la carpeta donde ejecuta el código en su imagen acoplable. De esa manera, los cambios de su código se reflejarán en su aplicación.

Ejemplo en docker-compose.yml:

 volumes: - "local_source_destination:/server_source_destination"

En su interfaz docker-compose-yml tiene:

 volumes: - '.:/frontend/app'

pero en tu Dockerfile tienes

 COPY . /app/

Entonces parece que estás confundiendo dónde montar tu volumen. Asegurarse '.' es donde está la raíz de su carpeta de código o cámbiela en consecuencia.

Prueba algo como:

 volumes: - '.:/app'

Como esa parece ser la ubicación que su servidor quiere que sea su código.

Si su código está correctamente montado en el destino correcto, es posible que no esté ejecutando su secuencia de comandos de vigilancia desde el interior del contenedor acoplable. Intenta ejecutar:

 docker exec -itw source_destination_in_container your_container_name command_to_run_watch
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda