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

Não estou conseguindo fazer o node funcionar dentro do docker, poderia me ajudar, obrigado

 docker run -p 80:3000 -v "C:\Projetos\nodejs:/var/www" -w "/var/www" node npm start
npm ERR! missing script: start

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-02-07T23_20_53_688Z-debug.log

Um outro problema é que não consigo entrar no container pra poder ver o log

2 respostas
solução!

Olá,

Para ser sincero, mexi pouco com o node, mas para subir o container fiz os seguintes passos no Ubuntu:

  1. Criei um diretório na minha home chamado teste e lá criei o arquivo package.json com o conteúdo abaixo:
{
  "name": "docker_web_app",
  "version": "1.0.0",
  "description": "teste",
  "author": "Teste <teste@teste.com>",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  },
  "dependencies": {
    "express": "^4.16.1"
  }
}
  1. Depois ainda no diretório teste criei o arquivo server.js
'use strict';

const express = require('express');

// Constants
const PORT = 3000;
const HOST = '0.0.0.0';

// App
const app = express();
app.get('/', (req, res) => {
  res.send('Hello world\n');
});

app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
  1. No diretório teste instalei o express
npm install express
  1. Depois rodei o comando:
 docker run -p 80:3000 -v "[caminho diretório teste com os arquivos acima]:/var/www" -w "/var/www" node npm start

Ao colocar no browser localhost vi a mensagem do Hello World do arquivo server.js

Rafael, obrigado pela dica, foi tentar fazer esses passos.. Obrigado