Soy bastante nuevo en Docker y trato de crear una imagen de docker con html simple, pero tengo este mensaje de error que dice que no se pudo resolver con la interfaz dockerfile.v0: no se pudo leer el archivo docker: abrir /var/lib/docker/tmp/buildkit-mount602954594 /Dockerfile: no existe tal archivo o directorio
Mi directorio de carpetas es así
C:\Users\hailey\Desktop\GitTest |- Dockerfile.txt |- README.md |- testHelloWorld.html
Dentro del Dockerfile, tengo
FROM ubuntu WORKDIR C/Users/hailey/Desktop/GitTest COPY testHelloWorld.html . EXPOSE 8080 CMD ["html","testHelloWorld.html"]
Hice mi comando docker build . dentro del directorio C:\Users\hailey\Desktop\GitTest. entonces tengo
[+] Building 0.1s (2/2) FINISHED => [internal] load build definition from Dockerfile => => transferring dockerfile: 2B => [internal] load .dockerignore => => transferring context: 2B failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount602954594/Dockerfile: no such file or directory
¿Alguien tiene alguna otra cosa que hice mal?
Para aquellos que usan docker-compose build
también asegúrese de haber configurado correctamente la ruta de build
en docker-compose.yml
:
version: '3.8' services: web: build: ./services/web/ --> this folder should contain your Dockerfile, otherwise you will have the above error
Primero asegúrese de estar en el directorio correcto y de que el escritorio de Docker se esté ejecutando.
Recibí el mismo error: podría ser cualquier cosa. El mío no era nada específico. Nombré y mencioné incorrectamente uno de los archivos en las configuraciones, por lo que cuando intenté ejecutar la compilación no pude encontrar ese archivo.
No tuvo nada que ver con frontend dockerfile.v0
(archivo totalmente diferente), verifique que todos sus archivos tengan el nombre y la referencia correcta.
El problema en mi caso fue que el nombre del archivo era correcto pero la extensión era txt
. Lo que hice fue abrir el bloc de notas ++ y pegar esta línea FROM mcr.microsoft.com/dotnet/aspnet:3.1
y luego guardar ese archivo del bloc de notas ++ como se muestra a continuación
una vez que se guarde el archivo, se verá como a continuación
Uno puede proporcionar el nombre de archivo del archivo docker usando -f
.
Por ejemplo, si su archivo docker se llama Dockerfile.base
, llame al comando de build
de la siguiente manera:
docker build . -f Dockerfile.base -t helloworld
Luego, puede iniciar la imagen de compilación usando el siguiente comando:
docker run --rm -it helloworld
Intente configurar esos .envs antes de ejecutar su compositor de compilación/docker:
export DOCKER_BUILDKIT=0 export COMPOSE_DOCKER_CLI_BUILD=0
El nombre de los archivos docker no tiene extensión, es solo Dockerfile
con D
mayúscula y f
minúscula
También puede especificar el nombre del Dockerfile, como docker build . -f Dockerfile.txt
si desea nombrarlo de otra manera
Me encontré con un problema similar al crear un archivo docker generado por Visual Studio 2019.
>> no se pudo resolver con la interfaz dockerfile.v0: no se pudo leer el archivo docker: abrir /var/lib/docker/tmp/buildkit-mount037306220/dockerfile: no existe tal archivo o directorio
Esencialmente, el archivo docker se hace referencia desde el subsistema de Windows para Linux (WSL). La herramienta montó mi sistema de archivos local y accede al archivo docker en el contexto de WSL. Como los nombres de archivo distinguen entre mayúsculas y minúsculas en Linux, el comando docker informó fielmente el error:
>> dockerfile: no existe tal archivo o directorio
Cambiar el nombre de Dockerfile a " dockerfile " resolvió el problema.
Tuve el mismo problema al ejecutar "docker build -t Getting-Start". desde la terminal de Visual Studio Code.
Pero cuando ejecuté el mismo comando en CMD (Windows 10), funcionó sin problemas.
Me gustaría resumir la información de diferentes respuestas en una respuesta y también agregar mi propia experiencia que me llevó a esta pregunta:
ls
o dir
dependiendo de si está usando Linux o Windows/cmd shell respectivamente para determinar si el archivo que usará para construir su contenedor docker existe allí)dockerfile
y Dockerfile
. Si tiene otras mayúsculas en el nombre del archivo, lo más probable es que falle. También tenga en cuenta que los nombres de archivo predeterminados no tienen extensión de archivo (por lo que, si va a crear el archivo en el Bloc de notas, por ejemplo, puede ser .txt u otra extensión predeterminada). Aquí hay otra respuesta que muestra cómo guardarlo sin un nombre de archivo desde el bloc de notas, pero también puede usar los siguientes comandos en el símbolo del sistema de Linux y Windows, respectivamente:mv dockerfile.txt dockerfile
ren dockerfile.txt dockerfile
dockerfile
/ Dockerfile
predeterminado, puede usar la opción -f
( enlace a documentos ), que dice:-f, --file string Nombre del Dockerfile (el valor predeterminado es 'PATH/Dockerfile')
Tomado de otra respuesta, aquí hay un ejemplo de cómo puede usar ese comando:
docker build . -f Dockerfile.base -t helloworld
Y solo para unirlo todo, no necesita usar el nombre de archivo nuevamente una vez que se crea el contenedor, por lo que puede ejecutarlo con:
docker run --rm -it helloworld
Acabo de este mismo problema, resultó que tenía que colocar el archivo docker en la carpeta correcta: la carpeta raíz del proyecto.
Tuve el mismo problema al trabajar con la aplicación de reacción. Tuve que mover el Dockerfile de src a la carpeta raíz del proyecto y reinicié el escritorio de la ventana acoplable... funcionó.
Asegúrese de ver la lista usando el comando "ls" o "dir".
En mi caso, creé Dockerfile usando Textedit de Mac y tenía una extensión .rtf oculta.
Después de quitar la extensión, funcionó.
Verifique el nombre de Dockerfile, debe ser "Dockerfile"