No estoy seguro de cómo nombrar Dockerfiles. Muchos en GitHub usan Dockerfile
sin una extensión de archivo. ¿Les doy un nombre y una extensión? ¿entonces qué? ¿O simplemente los llamo Dockerfile
?
docker
dockerfile
naming-conventions
Lloyd R. Prentice
fuente
fuente
docker build
comando, lo que significa que cada imagen se reconstruirá innecesariamente si se cambia el dockerfile de otra imagen.dev.Dockerfile
,test.Dockerfile
,build.Dockerfile
Etc.En VS Code uso
<purpose>.Dockerfile
y se reconoce correctamente.fuente
Creo que debería tener un directorio por contenedor con un Dockerfile (sin extensión). Por ejemplo:
Cuando construyas solo usa el nombre del directorio, Docker encontrará el Dockerfile. p.ej:
fuente
Si quiere usar el autobuilder en hub.docker.com, tiene que serlo
Dockerfile
. Por lo tanto, allí :)fuente
Parece que esto es cierto pero, personalmente, me parece un diseño pobre. Claro, tenga un nombre predeterminado (con extensión) pero permita otros nombres y tenga una forma de especificar el nombre del archivo acoplable para los comandos.
Tener una extensión también es bueno porque permite asociar aplicaciones a ese tipo de extensión. Cuando hago clic en un Dockerfile en MacOSX, lo trata como un ejecutable de Unix e intenta ejecutarlo.
Si los archivos Docker tuvieran una extensión, podría decirle al sistema operativo que los inicie con una aplicación en particular, por ejemplo, mi aplicación de editor de texto. No estoy seguro, pero el comportamiento actual también puede estar relacionado con las autorizaciones de archivos.
fuente
He creado dos Dockerfiles en el mismo directorio,
para construir el uso de Dockerfiles,
Nota: debe estar en el directorio de trabajo actual.
fuente
Puede nombrar sus Dockerfiles como quiera. El nombre de archivo predeterminado es
Dockerfile
(sin una extensión), y usar el predeterminado puede facilitar varias tareas mientras se trabaja con contenedores.Dependiendo de sus requisitos específicos, es posible que desee cambiar el nombre del archivo. Si está construyendo para múltiples arquitecturas, por ejemplo, es posible que desee agregar una extensión que indique la arquitectura como el equipo resin.io ha hecho para el contenedor HAProxy, su ejemplo ARM de múltiples contenedores :
En el ejemplo proporcionado, cada Dockerfile se crea a partir de una imagen ascendente diferente, específica de la arquitectura. El Dockerfile específico que se usará para la compilación se puede especificar usando la
--file, -f
opción al construir su contenedor usando la línea de comando.fuente
Dockerfile
es bueno si solo tiene un archivo acoplable (por directorio). Puede usar el estándar que desee si necesita varios archivos acoplables en el mismo directorio, si tiene una buena razón. En un proyecto reciente había archivos docker de AWS y archivos de entorno de desarrollo local porque los entornos diferían lo suficiente:Dockerfile
Dockerfile.aws
fuente
Dockerfile.armv7hf
lado de aDockerfile.i386
.Dockerfile (nombre personalizado y carpeta):
Construir:
fuente