Tengo un Dockerfileque se supone que debe construir una Ubuntuimagen. Pero cuando alguna vez corro
docker build -t ubuntu-test:latest ./Dockerfile
Muestra el siguiente error en la consola
no se puede preparar el contexto: el contexto debe ser un directorio: / Users / tempUser / git / docker / Dockerfile
Estoy en Mac OsX. Yo también lo intenté sudo. Nada funciona.
docker
dockerfile
Damien-Amen
fuente
fuente

También puede ejecutar la compilación de Docker con la
-fopcióndocker build -t ubuntu-test:latest -f Dockerfile.custom .fuente
docker build -t my-custom-name -f /path_to_my_docker_file/Dockerfile-abcd .Para especificar
Dockerfilecuándo compilar, puede usar:Pero va a fallar si hay
ADDoCOPYcomando que depende de ruta relativa. Hay muchas formas de especificar uncontextparadocker build, puede consultar los documentos de la compilación de Docker para obtener más información.fuente
docker build -t ubuntu:12.04 - < Dockerfiledebe estar en la raíz del DockerfileComprender contextos
El
docker buildcomandoLa sintaxis básica del comando de compilación de Docker es
El contexto
El contexto es un directorio y determina lo que verá el proceso de compilación de Docker: Desde el punto de vista de Dockerfile, cualquier archivo
context_dir/mydir/myfilede su sistema de archivos se convertirá/mydir/myfileen Dockerfile y, por lo tanto, durante el proceso de compilación.El dockerfile
Si se llama al dockerfile
Dockerfiley vive en el contexto, se encontrará implícitamente mediante la convención de nombres. Eso es bueno, porque significa que generalmente puede encontrar el Dockerfile en cualquier contenedor de la ventana acoplable de inmediato.Si insiste en usar un nombre diferente, diga "/ tmp / mydockerfile", puede usarlo
-fasí:pero entonces el dockerfile no estará en la misma carpeta o al menos será más difícil de encontrar.
fuente
Es simple, siempre que se ejecuta la compilación de Docker, Docker quiere saber cuál es el nombre de la imagen, por lo que debemos pasar -t:. Ahora asegúrese de estar en el mismo directorio donde tiene su Dockerfile y ejecute
docker build -t <image_name>:<version> .Ejemplodocker build -t my_apache:latest .asumiendo que está en el mismo directorio que su Dockerfile; de lo contrario, pase el indicador -f y el Dockerfile.docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfilefuente
docker build -t my_apache:latest -f ~/Users/documents/myapache/Dockerfile(tenga en cuenta la adición de un.al final)Me enfrento al mismo problema. Estoy usando
docker version:17.09.0-ce.Sigo los pasos a continuación:
$ sudo docker build -t ubuntu-test:latest .Resolvió el problema y la imagen creada con éxito.
Nota: el comando de compilación depende de la versión de la ventana acoplable y de la opción de compilación que estemos usando. :)
fuente
Una de las razones por las que recibí un error fue el nombre del archivo, asegúrese de que el nombre del archivo sea Dockerfile. Así que lo descubrí, espero que pueda ayudar a alguien.
fuente