Tengo un Dockerfile
que se supone que debe construir una Ubuntu
imagen. 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
-f
opció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
Dockerfile
cuándo compilar, puede usar:Pero va a fallar si hay
ADD
oCOPY
comando que depende de ruta relativa. Hay muchas formas de especificar uncontext
paradocker build
, puede consultar los documentos de la compilación de Docker para obtener más información.fuente
docker build -t ubuntu:12.04 - < Dockerfile
debe estar en la raíz del DockerfileComprender contextos
El
docker build
comandoLa 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/myfile
de su sistema de archivos se convertirá/mydir/myfile
en Dockerfile y, por lo tanto, durante el proceso de compilación.El dockerfile
Si se llama al dockerfile
Dockerfile
y 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
-f
así: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/Dockerfile
fuente
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