3
respostas

Erro no Build no Dockerfile

Boa tarde!

Senhores estava acompanhando o passo a passo da aula e quando fui rodar o build no Dockerfile foi me retornado um erro. Segue o erro:

Lee_2@LeePC MINGW64 ~/Desktop/volume-exemplo $ docker build -f Dockerfile -t leearagao/node .

Sending build context to Docker daemon 6.144kB Step 1/6 : FROM node:latest ---> 2a0d8959c8e1 Step 2/6 : MAINTAINER Lee Aragao ---> Running in d40fefb1be76 Removing intermediate container d40fefb1be76 ---> 7e631afc01cd Step 3/6 : COPY . /var/www ---> 88c17038fa1f Step 4/6 : RUN npm install ---> Running in 3e68495b1904 npm WARN saveError ENOENT: no such file or directory, open '/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 '/package.json' npm WARN !invalid#2 No description npm WARN !invalid#2 No repository field. npm WARN !invalid#2 No README data npm WARN !invalid#2 No license field.

up to date in 1.384s found 0 vulnerabilities

Removing intermediate container 3e68495b1904 ---> b524fed13b0d Step 5/6 : ENTRYPOINT npm start ---> Running in ad20c3b9c857 Removing intermediate container ad20c3b9c857 ---> e1084a9a5efd Step 6/6 : EXPOSE 3000 ---> Running in 65eeea842244 Removing intermediate container 65eeea842244 ---> 7d9c7870a418 Successfully built 7d9c7870a418 Successfully tagged leearagao/node:latest SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories.

3 respostas

no such file or directory, open '/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 '/package.json'

Ao executar npm install, ele não conseguiu encontrar o package.json, O npm install deveria ser rodado dentro da pasta /var/www,

Verifique se o WORKDIR está com o caminho para o projeto certo: No seu caso seria inserir depois do COPY . /var/www

WORKDIR /var/www

Dica: Na pasta do seu projeto crie um arquivo chamado .dockerignore Nesse arquivo você vai inserir os arquivos que devem ser ignorados na copia. Por exemplo, se vc inserir nesse arquivo:

package.lock

Ele não copiará o package.lock para dentro da imagem.

Bom dia! Wallace

Desde já agradeço pelo retorno.

Realmente tinha esquecido de declarar o WORKDIR , sou bem iniciante em Docker, mas estou buscando melhor aprimoramento na área. Depois que inseri o WORKDIR ficou somente o erro abaixo:

SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context will have '-rwxr-xr-x' permissions. It is recommended to double check and reset permissions for sensitive files and directories. PS C:\Users\Lee_2\Desktop\volume-exemplo>

Olá leetor4!

Isso é apenas um AVISO DE SEGURANÇA dizendo que, como a imagem foi criada em um Windows, ele adicionou as seguintes permissões '-rwxr-xr-x' para máquinas não Windows. E por fim ele diz apenas que é recomendado checar as permissões resetá-las para arquivos e diretórios confidenciais. Já que alguns arquivos possam não permitir essas permissões.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software