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.8K
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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