Tengo un Dockerfile que se supone que debe construir una imagen de Ubuntu. Pero cada vez que corro
docker build -t ubuntu-test:latest ./Dockerfileme 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. Traté de sudo también. Nada funciona.
En su lugar, debe apuntar al directorio . No debe especificar el dockerfile.
docker build -t ubuntu-test:latest . funciona
docker build -t ubuntu-test:latest ./Dockerfile no funciona .
También puede ejecutar docker build con la opción -f
docker build -t ubuntu-test:latest -f Dockerfile.custom .
docker buildLa sintaxis básica del comando de compilación de docker es
docker build -t imagename:imagetag context_dir 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 en su sistema de archivos se convertirá en /mydir/myfile en Dockerfile y, por lo tanto, durante el proceso de compilación.
Si el dockerfile se llama Dockerfile y vive en el contexto, se encontrará implícitamente por convención de nomenclatura. Eso es bueno, porque significa que generalmente puede encontrar el Dockerfile en cualquier contenedor acoplable de inmediato.
Si insiste en usar un nombre diferente, diga "/tmp/mydockerfile", puede usar -f así:
docker build -t imagename:imagetag -f /tmp/mydockerfile context_dirpero entonces el dockerfile no estará en la misma carpeta o al menos será más difícil de encontrar.