Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

447
Views
Confusión con node_modules ignorados por .dockerignore

Pensé que solo quería compartir esto. Así que estoy probando la creación de una imagen/contenedor acoplable con una aplicación nodejs usando Dockerfile. Todo transcurrió sin problemas, hasta que intenté agregar el archivo .dockerignore, donde enumeré los siguientes archivos, esperando que no se copiaran en la imagen de la ventana acoplable:

 node_modules dockerignore Dockerfile

Y aquí está mi Dockerfile:

 FROM node:latest WORKDIR /app ADD . . RUN npm install CMD node index.js

Así que deseché y reconstruí mi imagen con el Dockerfile existente y el nuevo archivo .dockerignore. Después de la creación, ejecuté docker run -it --entrypoint sh <image name> para verificar si esos archivos/carpetas ya no aparecen.

Dockerfile y .dockerignore se han ido. Pero la carpeta node_modules todavía está allí.

Me tomó un tiempo "darme cuenta" de que TAL VEZ la carpeta node_modules en la imagen se crea mediante el paso de npm install , no la carpeta copiada del host de todos modos.

¿Tengo razón?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Así que obtuve la respuesta basada en los comentarios de tkausl y David Maze (¡gracias chicos!).

Los node_modules dentro de la imagen se generan a partir del paso 'npm install' de Dockerfile.

Y en cuanto a la pregunta:

si .dockerignore no incluye node_modules , ¿Dockerfile habría sobrescrito node_modules de todos modos? Entonces, ¿por qué molestarse en poner node_modules dentro del archivo .dockerignore?

el comentario que recibí fue que si omití node_modules del archivo .dockerignore, entonces el proceso de compilación de docker se habría ralentizado debido a la copia innecesaria de node_modules , ADEMÁS, la imagen habría sido más grande.

Por lo tanto, lo prudente es mantener node_modules dentro del archivo .dockerignore para lograr una mayor eficiencia en el proceso de docker build .

ACTUALIZACIÓN: intenté ejecutar el escenario con node_modules eliminado del archivo .dockerignore, y la imagen muestra 940 MB, mientras creaba la imagen con node_modules dentro del archivo .dockerignore , aunque el proceso puede ser más eficiente: la imagen de salida es de 942 MB (2 MB más grande).

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!