Puede establecer el nombre de la imagen al crear una imagen personalizada, como esta:
docker build -t dude/man:v2 . # Will be named dude/man:v2
¿Hay alguna manera de definir el nombre de la imagen en Dockerfile, por lo que no tengo que mencionarlo en el docker buildcomando?
docker
tags
dockerfile
gvlasov
fuente
fuente

Respuestas:
El etiquetado de la imagen no es compatible dentro del Dockerfile. Esto debe hacerse en su comando de compilación. Como solución alternativa, puede hacer la compilación con un docker-compose.yml que identifica el nombre de la imagen de destino y luego ejecuta un
docker-compose build. Un ejemplo de docker-compose.yml se vería asíDicho esto, hay un impulso en contra de hacer la compilación con componer ya que eso no funciona con las implementaciones de modo enjambre. Entonces ha vuelto a ejecutar el comando como lo ha indicado en su pregunta:
Personalmente, tiendo a construir con un pequeño script de shell en mi carpeta (build.sh) que pasa cualquier argumento e incluye el nombre de la imagen allí para guardar la escritura. Y para la producción, la construcción es manejada por un servidor ci / cd que tiene el nombre de la imagen dentro del script de la tubería.
fuente
Cómo construir una imagen con nombre personalizado sin usar el archivo yml:
Cómo ejecutar un contenedor con nombre personalizado:
fuente
Dockerfiledirectorio en un directorio con el mismo nombre que desea para su imagen, puede usarlodocker build -t $(basename $PWD) .como comando de compilación. Luego puede usar la búsqueda CTRL-R desde "build" para encontrar y reutilizar el comando y nunca tener que editarlo. También puede convertirlo en un alias si lo desea.Aquí hay otra versión si tiene que hacer referencia a un archivo acoplable específico:
Entonces solo corres
fuente
Puede hacer esto usando 'AS' DESDE ubuntu: 16.04 AS FooImage
fuente
ASsintaxis especifica el nombre de destino utilizado en una compilación de varias etapas, y este nombre también se puede usar en lugar de una imagen para laCOPY --fromsintaxis dentro de esa compilación de varias etapas. Sin embargo, no especifica el nombre / etiqueta resultante para la compilación misma.