5
respostas

Criando Imagem

Mode LastWriteTime Length Name


d----- 27/07/2017 16:35 node_modules -a---- 15/10/2023 16:41 0 Dockerfile -a---- 27/07/2017 16:39 257 index.html -a---- 27/07/2017 16:45 241 index.js -a---- 27/07/2017 17:02 338 main.css -a---- 27/07/2017 16:41 283 package.json

[+] Building 0.2s (2/2) FINISHED docker:default => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 31B 0.0s ERROR: failed to solve: the Dockerfile cannot be empty

5 respostas

Olá!

O erro que você está recebendo é "ERROR: failed to solve: the Dockerfile cannot be empty". Esse erro ocorre quando o Dockerfile está vazio ou não contém nenhuma instrução válida.

No seu caso, você precisa criar um arquivo chamado "Dockerfile" na pasta do seu projeto e adicionar as instruções necessárias para criar a imagem. O Dockerfile é um arquivo de texto que contém as instruções para construir uma imagem Docker.

A partir do contexto que você forneceu, posso ver que o Dockerfile deve conter as seguintes instruções:

FROM node:14
WORKDIR /app-node
COPY . .
RUN npm install
ENTRYPOINT npm start

Essas instruções definem que a imagem será baseada na imagem oficial do Node na versão 14. Em seguida, define o diretório de trabalho como "/app-node" e copia todo o conteúdo do diretório atual para dentro da imagem. Depois, executa o comando "npm install" para instalar as dependências do projeto e, por fim, define o comando de entrada como "npm start".

Certifique-se de que o arquivo Dockerfile esteja no diretório correto e que todas as instruções estejam corretamente escritas. Depois disso, você pode executar o comando docker build -t nome-da-imagem:tag . para construir a imagem. Substitua "nome-da-imagem" pelo nome que você deseja dar à imagem e "tag" pela tag da versão que você deseja atribuir à imagem.

Bons estudos!

Bom dia. Agradeço a informação. Já fiz várias tentativas, li questões semelhantes aqui no forúm mas nada deu certo até então. O exemplo do professor é a versão 14 , tentei várias vezes e fica zerado o dockerfile quando digito o comando ls. Mas como instruído na aula fui verificar as versões disponiveis no Docker e estavam as versões 18 e 20. Utilizando a versão 20 do node , o Dokerfile não aparece mais zerado. No entanto, ainda assim permanece com mensagem de erro. Preciso de apoio para dar continuidade ao curso já fiz o exercício diversas vezes de várias formas e não está resolvendo. A ultima tentativa agora a pouco foi

FROM node:20 WORKDIR /app-node COPY . . RUN npm install ENTRYPOINT npm start

Mode LastWriteTime Length Name


d----- 27/07/2017 16:35 node_modules -a---- 22/10/2023 11:06 80 Dockerfile.txt -a---- 27/07/2017 16:39 257 index.html -a---- 27/07/2017 16:45 241 index.js -a---- 27/07/2017 17:02 338 main.css -a---- 27/07/2017 16:41 283 package.json

PS C:\Users\brnvi\Desktop\app-exemplo> docker build -t jessicafarias/app-exemplo:1.0 . [+] Building 0.2s (2/2) FINISHED docker:default => [internal] load .dockerignore 0.1s => => transferring context: 2B 0.0s => [internal] load build definition from Dockerfile 0.1s => => transferring dockerfile: 2B 0.0s ERROR: failed to solve: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount1215926765/Dockerfile: no such file or directory PS C:\Users\brnvi\Desktop\app-exemplo>

Desde já agradeço.

Para complementar também tentei tirar a extensão. Quando faço isso e digito ls o Dockerfile fica zerado.

Nomear o arquivo como 'Dockerfile.txt' atrapalha o docker de achá-lo. Mantenha o nome como 'Dockerfile' apenas.

Se você está com dificuldade para criar um arquivo sem a extensão '.txt', recomendo que use o VSCode, ao invés de usar o Bloco de Notas, Notepad++ e afins, pois aquele não força a adoção de extensão.

O VS Code não está reconhecendo o arquivo como dockerfile. Finalmente consegui realizar a atividade. Precisei entrar na pasta e abrir o arquivo como docker. Só deixou de ser arquivo txt ou um arquivo sem extensao vazio quando abri o arquivo como Docker o acessando na pasta. Embora tenha funcionado acredito que não é a solução ideal, pois o VS Code deveria reconhecer o arquivo dockerfile sem extensão o que não está acontecendo. Quando tiro a extensão txt ele fica zerado. Apenas como mencionei indo até a pasta e abrindo o documento como docker é que ele passou a ser um arquivo dockerfile.