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í
version: '2'
services:
man:
build: .
image: dude/man:v2
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:
docker build -t dude/man:v2 .
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.