Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Aula 4 - Criando um Dockerfile - Erro no build

Boa noite, estou acompanhando as aulas e ao tentar construir o Dockerfile para rodar a aplicação estou tomando um erro como se não conseguisse copiar os arquivos. O Dockerfile é o abaixo:

FROM node:latest
MAINTAINER Lucas Polo

COPY . /var/wwww
WORKDIR /var/www
RUN npm install
ENTRYPOINT [ "npm", "start" ]
EXPOSE 3000

O comando que estou tomando é este:

docker build --no-cache --rm -f Dockerfile -t lucaspolo/node .

No build já estou recebendo o erro abaixo no Step 5/7 : RUN npm install:

lucaspolo@nb:~/docker/volume-exemplo$ docker build --no-cache --rm -f Dockerfile -t lucaspolo/node .
Sending build context to Docker daemon  6.144kB
Step 1/7 : FROM node:latest
 ---> 932354abf0cc
Step 2/7 : MAINTAINER Lucas Polo
 ---> Running in f39020c8f3d4
 ---> 9c31d1963dfb
Removing intermediate container f39020c8f3d4
Step 3/7 : COPY . /var/wwww
 ---> 959ebda76ae8
Removing intermediate container aff343cbd03f
Step 4/7 : WORKDIR /var/www
 ---> f9a609b6aed0
Removing intermediate container 7997c2b00f43
Step 5/7 : RUN npm install
 ---> Running in c7c7987d8abe
npm WARN saveError ENOENT: no such file or directory, open '/var/www/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/var/www/package.json'
npm WARN www No description
npm WARN www No repository field.
npm WARN www No README data
npm WARN www No license field.

up to date in 1.119s
found 0 vulnerabilities

 ---> f8e5a3c26945
Removing intermediate container c7c7987d8abe
Step 6/7 : ENTRYPOINT npm start
 ---> Running in 11d9954ea2d4
 ---> 63a4aeb2c6e8
Removing intermediate container 11d9954ea2d4
Step 7/7 : EXPOSE 3000
 ---> Running in 38377d37f42d
 ---> 03032149dbf2
Removing intermediate container 38377d37f42d
Successfully built 03032149dbf2
Successfully tagged lucaspolo/node:latest

Ao tentar executar recebe o mesmo erro e o container não sobe (pra ver isso precisei rodar sem o detach.

1 resposta
solução!

Fiz uma mudança no meu Dockerfile, colocando o workdir já no inicio:

FROM node:latest
MAINTAINER Lucas Polo

WORKDIR /var/www
COPY package*.json ./
RUN npm install

COPY . .
EXPOSE 3000
ENTRYPOINT [ "npm", "start" ]

Começou a funcionar normalmente.