Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problema ao criar o volume.

Ao criar o volume ele apresenta o erro. Estou utilizando o docker no Linux Ubuntu.

waldir@ubuntuserver:~$ docker run -p 8080:3000 -v "/home/waldir/volume-exemplo:/var/www" -w "/var/www" node npm start

> volume-exemplo@1.0.0 start /var/www
> node .

internal/modules/cjs/loader.js:896
  throw err;
  ^

Error: Cannot find module './lib/express'
Require stack:
- /var/www/node_modules/express/index.js
- /var/www/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:893:15)
    at Function.Module._load (internal/modules/cjs/loader.js:743:27)
    at Module.require (internal/modules/cjs/loader.js:965:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/var/www/node_modules/express/index.js:11:18)
    at Module._compile (internal/modules/cjs/loader.js:1076:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:941:32)
    at Function.Module._load (internal/modules/cjs/loader.js:782:14)
    at Module.require (internal/modules/cjs/loader.js:965:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/var/www/node_modules/express/index.js', '/var/www/index.js' ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! volume-exemplo@1.0.0 start: `node .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the volume-exemplo@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-09-22T19_24_24_481Z-debug.log
4 respostas

Olá Waldir, tudo bem? Me parece que o problema é na pasta node_modules, então você poderia verificar se a pasta node_modules está realmente presente dento da sua pasta /home/waldir/volume-exemplo?

Outra coisa, você poderia tentar entrar dentro do container e verificar se os arquivos estão corretos, para isso você deve executar o comando com o -d:

docker run -d -p 8080:3000 -v "/home/waldir/volume-exemplo:/var/www" -w "/var/www" node npm start

E em seguida verificar o ID do container com o comando:

docker ps 

E usar o comando:

docker exec -it ID_DO_CONTAINER_AQUI bash

E depois você pode verificar dentro da pasta /var/www do container se os arquivos e a pasta node_modules está presente. E fala pra gente o resultado!

Tudo bem Jonilson, desde já agradeço sua ajuda! Mas infelizmente não deu certo na pasta "/home/waldir/volume-exemplo/" existe a pasta "node_modules".

waldir@ubuntuserver:~$ ls -la /home/waldir/volume-exemplo/
total 20
drwxrwxr-x  3 waldir waldir 4096 Sep 22 19:22 .
drwxr-xr-x 14 waldir waldir 4096 Sep 22 21:15 ..
-rw-rw-r--  1 waldir waldir  241 Jul 27  2017 index.js
drwxrwxr-x 45 waldir waldir 4096 Sep 22 19:22 node_modules
-rw-rw-r--  1 waldir waldir  283 Jul 27  2017 package.json

Ao executar o comando: docker run -d -p 8080:3000 -v "/home/waldir/volume-exemplo:/var/www" -w "/var/www" node npm start e logo em seguida o docker ps não exibe nenhum container.

solução!

Entendi, bem a pasta node_modules existe, e me parece que o erro é no arquivo index.js que fica dentro da pasta express dentro de node_modules, então você poderia verificar se dentro da pasta node_modules/express/ tem a pasta lib, e fala pra gente o resultado! Outra coisa que você poderia tentar é fazer o download novamente e tentar novamente!

Jonilson, muito obrigado pela ajuda! O arquivo que estava faltando era o index.html, não conheço nada de node, como tinha o index.js eu não percebi a falta do index.html. Por alguma razão ele foi apagado da primeira vez que baixei.