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

1.8K
Views
No se puede encontrar el módulo para una aplicación de nodo js que se ejecuta en un entorno de composición de ventana acoplable

Lo siento por mi pregunta de novato, pero estoy teniendo un día terrible para resolver este error, tengo una aplicación Express y estoy tratando de ejecutarla en docker compose. He usado este Dockerfile:

 FROM mhart/alpine-node RUN mkdir -p /usr/src/app RUN chmod -R 777 /usr/src/app WORKDIR /usr/src/app RUN npm install node-gyp -g RUN npm install nodemon -g ENV NODE_ENV development EXPOSE 3000

Y esta parte de mi archivo docker-compose:

 backend: mem_limit: 100m build: context: . dockerfile: dockerfiles/node/Dockerfile command: npm start depends_on: - mongo - elasticsearch volumes: - ./backend/:/usr/src/app ports: - 3000:3000 links: - "mongo:mongo" - "elasticsearch:elasticsearch"

Cuando docker-compose up, aparece este error:

 backend_1 | npm info it worked if it ends with ok backend_1 | npm info using npm@3.10.10 backend_1 | npm info using node@v6.9.5 backend_1 | npm info lifecycle service-designer@1.0.0~prestart: service-designer@1.0.0 backend_1 | npm info lifecycle service-designer@1.0.0~start: service-designer@1.0.0 backend_1 | backend_1 | > service-designer@1.0.0 start /usr/src/app backend_1 | > nodemon index.js backend_1 | backend_1 | [nodemon] 1.11.0 backend_1 | [nodemon] to restart at any time, enter `rs` backend_1 | [nodemon] watching: *.* backend_1 | [nodemon] starting `node index.js` backend_1 | module.js:471 backend_1 | throw err; backend_1 | ^ backend_1 | backend_1 | Error: Cannot find module 'dotenv' backend_1 | at Function.Module._resolveFilename (module.js:469:15) backend_1 | at Function.Module._load (module.js:417:25) backend_1 | at Module.require (module.js:497:17) backend_1 | at require (internal/module.js:20:19) backend_1 | at Object.<anonymous> (/usr/src/app/index.js:1:63) backend_1 | at Module._compile (module.js:570:32) backend_1 | at Object.Module._extensions..js (module.js:579:10) backend_1 | at Module.load (module.js:487:32) backend_1 | at tryModuleLoad (module.js:446:12) backend_1 | at Function.Module._load (module.js:438:3) backend_1 | [nodemon] app crashed - waiting for file changes before starting...

Si hago ls -al en el contenedor de back -end, obtengo una lista completa del contenido de la carpeta de mi aplicación de back-end, pero parece que no se reconocen las dependencias de node_modules.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debe instalar las dependencias en el contenedor, que falta en su Dockerfile.

La forma común es crear un Dockerfile que ya conozca su aplicación y hacer que copie su archivo package.json y realice una instalación de npm install .

Esto permite que su contenedor encuentre todas las dependencias de su código cuando más tarde ejecute su aplicación.

Vea un ejemplo aquí: https://nodejs.org/en/docs/guides/nodejs-docker-webapp/

El Dockerfile muestra:

 FROM node:boron # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app/ RUN npm install # Bundle app source COPY . /usr/src/app EXPOSE 8080 CMD [ "npm", "start" ]

Es posible que deba adaptar las rutas para el comando COPY , por supuesto.

over 4 years ago · Santiago Trujillo Report

0

Si sus archivos Dockerfile y package.json son correctos y aún tienen el problema:

  1. Asegúrese de haber reconstruido las imágenes de su contenedor.

  2. Tratar

docker-compose down -v

antes de volver a iniciar los contenedores con docker-compose up .

Esto elimina todos los volúmenes.

over 4 years ago · Santiago Trujillo Report

0

También tuve el mismo problema cuando docker-compose up .

Problema resuelto ejecutando docker-compose up --build en lugar de docker-compose up .

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!