Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Como remover uma TAG que não está mais sendo utilizada? Estava com essa dúvida, e fazendo uma breve pesquisa, encontrei essa solução. Faz sentido pessoal?

tiago@localhost:~$ docker images
REPOSITORY                         TAG         IMAGE ID       CREATED        SIZE
tiagog/node-2                     latest      03a3421c7469   3 hours ago    940MB
meurepositorio/estudos-docker     node-2      03a3421c7469   3 hours ago    940MB
tiago@localhost:~$ docker rmi meurepositorio/estudos-docker:node-2
Untagged: meurepositorio/estudos-docker:node-2
Untagged: meurepositorio/estudos-docker@sha256:9e68a755d947a2d5dca9930ea4087a65d6e485043129698312a8e38a74c94e84
tiago@localhost:~$ docker images
REPOSITORY                    TAG         IMAGE ID       CREATED        SIZE
tiagog/node-2               latest      03a3421c7469   3 hours ago    940MB
6 respostas

Olá, Tiago. Tudo bem?

Nesse caso que você mandou, o que você removeu foi a imagem em si.

Se você tivesse, por exemplo, feito um docker run ubuntu, o Docker faria o download dessa imagem caso não estivesse presente e ele iria ser iniciado. Na próxima vez que você quiser subir esse container, não será necessário fazer o download novamente.

Quando você executa o docker rmi, ele vai remover essa imagem do seu computador. Caso você quiser subir um container ubuntu de novo, o Docker teria que fazer o download novamente.

Foi isso que você fez. Era esse o objetivo?

Olá Vitor. Minha intenção seria remover somente a TAG "meurepositorio/estudos-docker ---> node-2" que estava vinculada uma imagem já existente. Perceba que na código que enviei, existem duas tags apontando para um mesmo ID de imagem " 03a3421c7469". Quando executei o comando passando a TAG "node-2" ele removeu somente a mesma, deixando a outra TAG "latest", mas com o mesmo id de imagem. É isso mesmo , ou eu viajei?

Oi, Tiago.

Realmente, não tinha reparado que o ID era o mesmo.

Pra ser preciso, você não removeu uma tag, mas sim um image-alias, um apelido para a mesma imagem. Um alias é composto pelo "nome completo" da imagem e a tag. O nome completo da imagem, por sua vez, é composto pelo repositório e pelo nome.

No seu caso, por exemplo:

meurepositorio/estudos-docker -> nome-completo
node-2 -> tag
meurepositorio/estudos-docker:node-2 -> alias

Então o que você removeu foi um alias, a tag é só parte do alias, uma informação a mais pra identificar uma imagem.

Oi Vitor, acho que entendi.

Talvez eu não tenha me expressado corretamente, mas então, quando quis dizer remover uma tag, seria remover o que se chama "image-alias", como você disse. Sendo assim, deixo outra pergunta.. Prometo que é a última desse tópico... hahaha

Fiz alguns testes aqui e não encontrei maneiras de remover somente o alias de um "image-alias". Seria possível? Ou a maneira correta e única seria a de remover um "image-alias" por completo?

solução!

Oi, Tiago.

Quando você executa docker rmi ele vai remover a imagem em si. Se você executa docker rmi passando o alias da imagem e essa imagem possuir outros alias, ele vai remover somente o alias.

Após o build da imagem, quando executamos um docker build e passamos um nome pra ela, não tem como remover somente o nome. Quando a gente executa docker pull, a gente pega uma imagem que já foi feito o build e com um nome definido. Você pode até alterar a tag, ou o nome do repositório, mas não tem como deixar sem identificação nenhuma.

Você pode fazer o teste de fazer o build de uma imagem a partir de um dockerfile feito por você sem passar nenhum nome pra ela pra ver se é possível ficar sem esse identificador.

Maravilha Vitor! Acho que ficou claro agora! Muito obrigado mais uma vez!