Quando voce publica uma imagem Docker em algum repositório remoto (privado ou público) não é possível excluir uma tag da imagem utilizando o cliente docker na linha de comando.
docker rmi <id da imagem>
isso removerá apenas do seu registro local.
Para remover do registro público é necessário utilizar a API REST [1] do serviço de registro do docker.
De acordo com a documentação da API Docker Registry [2] o endpoint é o seguinte:
DELETE /v1/repositories/(namespace)/(repository)/tags/(tag*)
Exemplo:
DELETE /v1/repositories/reynholm/help-system-server/tags/latest HTTP/1.1 Host: registry-1.docker.io Accept: application/json Content-Type: application/json Cookie: (Cookie provided by the Registry)
Exemplo que usei no meu caso:
[root@rhel7-server-1 httpd]# curl -X DELETE my-private-docker-registry.com:5000/v1/repositories/rsoares/rhel7/tags/latest true
Pronto!
Se o retorno for ‘true‘ sua tag foi removida!
Execute novamente a requisição REST para se certificar
curl -X DELETE my-private-docker-registry.com:5000/v1/repositories/rsoares/rhel7/tags/latest {"error": "Tag not found"}
Observe o retorno:
{"error": "Tag not found"}
[1] https://docs.docker.com/reference/api/registry_api
[2] https://docs.docker.com/reference/api/registry_api/#delete-a-repository-tag