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

Como executar npm install e npm start no container

Boa noite! Tendo por base a aula onde se ensina a executar o comando npm start dentro de um container baseado em node a fim de inicializar um pequeno projeto neste caso o projeto volume-exemplo, tentei fazer uma simples alteraçao que consiste em adicionar tambem o comando npm install, porem nao obtive sucesso. Poderiam em dizer porque o container nao inicializa com o comando abaixo?

//comando original da aula para criar o container - funciona ~/Desktop/volume-exemplo$ docker container run -d -p 8080:3000 -v $(pwd):/var/www -w /var/www node npm start

//comando modificado com a inserçao do comando npm install que deveria baixar as dependencias caso nao existam no projeto - no caso abaixo nao funciona ~/Desktop/volume-exemplo$ docker container run -d -p 8080:3000 -v $(pwd):/var/www -w /var/www node npm install && npm start

3 respostas
solução!

Olá, Marcos. Tudo bem?

Para passar mais comandos para serem executados usando o docker run você passa o parâmetro que indica que quer usar o bash e passa os comandos como argumentos. Pro exemplo:

docker run node /bin/bash -c "echo 'hello' && echo 'world' && ls"

No seu caso, acredito que teria de ser assim:

docker container run -d -p 8080:3000 -v $(pwd):/var/www -w /var/www node /bin/bash -c "npm install && npm start"

Espero ter ajudado. Me diz se funcionou e, se tiver alguma dúvida, é só dizer.

Obrigado, Vitor Almeida! Funcionou do jeito que eu desejava!

De nada, Marcos :)

Boa sorte nos estudos e, se precisar, estamos aqui.