A marcação da imagem não é suportada dentro do Dockerfile. Isso precisa ser feito no seu comando de construção. Como solução alternativa, você pode fazer a construção com um docker-compose.yml que identifique o nome da imagem de destino e, em seguida, execute a docker-compose build
. Uma amostra docker-compose.yml seria semelhante a
version: '2'
services:
man:
build: .
image: dude/man:v2
Dito isto, há um esforço contra fazer a compilação com composição, pois isso não funciona com implantações no modo enxame. Então, você voltou a executar o comando conforme indicado em sua pergunta:
docker build -t dude/man:v2 .
Pessoalmente, costumo construir com um pequeno script de shell na minha pasta (build.sh) que passa qualquer argumento e inclui o nome da imagem para salvar a digitação. E para produção, a compilação é manipulada por um servidor ci / cd que possui o nome da imagem dentro do script de pipeline.