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.htmlDentro 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 errorPrimero asegúrese de estar en el directorio correcto y de que el escritorio de la ventana acoplable se esté ejecutando.
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"
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.
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.
Acabo de este mismo problema, resultó que tenía que colocar el archivo docker en la carpeta correcta: la carpeta raíz del proyecto.
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 dockerfileren dockerfile.txt dockerfiledockerfile / 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 helloworldY 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 helloworldUno 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 helloworldLuego, puede iniciar la imagen de compilación usando el siguiente comando:
docker run --rm -it helloworldIntente configurar esos .envs antes de ejecutar su compositor de compilación/docker:
export DOCKER_BUILDKIT=0 export COMPOSE_DOCKER_CLI_BUILD=0El 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
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