Dockerfile
FROM node:latest
MAINTANER Yuri Nascimento
COPY . /var/www
WORKDIR /var/www
RUN npm install
EXTRYPOINT ["npm"]["start"]
EXPOSE 3000
Dockerfile
FROM node:latest
MAINTANER Yuri Nascimento
COPY . /var/www
WORKDIR /var/www
RUN npm install
EXTRYPOINT ["npm"]["start"]
EXPOSE 3000
Quando iniciar o container com base na imagem gerada pelo seu dockerfile, informe a porta:
docker run -d -p 8080:3000 my_image
referência: https://docs.docker.com/engine/reference/run/
Eu executei esse comando, mas aplicação só se mantém por alguns segundos, dando dando docker ps na segunda vez a aplicação já não consta na lista.
Olá Fabiano, tudo bem? É bem estranho isso, porque como o Otávio falou, executando o comando com o -d
indica que queremos que o container execute em modo desanexado, ou seja em segundo plano, assim podemos ficar com o terminal livre para executar outras tarefas. Porém acho que o problema talvez seja o nome MAINTANER
que na verdade tem o I
, sendo MAINTAINER
. Então tenta executar o build da imagem com o conteúdo do dockerfile da seguinte forma:
FROM node:latest
MAINTAINER Yuri Nascimento
ENV NODE_ENV=development
COPY . /var/www
WORKDIR /var/www
RUN npm install
ENTRYPOINT ["npm", "start"]
EXPOSE 3000
Aproveitei e coloquei a variável de ambiente ENV NODE_ENV=development
.
Então você deve fazer o build novamente da imagem e depois executar o comando:
docker run -d -p 8080:3000 nome_imagem
E fala pra gente se funcionou!