[Docker] Desvendando tipos de imagens
Eai pessoal, vamos falar um pouco hoje sobre tipos de imagens que ficam hospedadas no Dockerhub. Afinal, quando eu me deparei a primeira vez com uma tonelada de tipos diferentes, fiquei perdido. Espero poder ajudar vocês a terem uma visão mais clara do que temos lá.
O Docker Hub é pela definição deles: "é a maneira mais fácil do mundo de criar, gerenciar e entregar aplicativos de contêiner para sua equipe.". De uma maneira mais simples, ele é muito parecido com um github de imagens, onde você consegue hospedar sua imagem e disponibilizar para outras pessoas.
O Conceito de Tags no Docker
Para darmos inicio, precisamos entender um conceito importante que são as tags. No mundo docker gerenciamos as imagens com elas. Nada mais são do que formas de gerenciarmos as versões. Dessa forma, podemos ter vários tipos de tags, aqui vai alguns exemplos:
Exemplo de tags:
Note que as tags são o que ficam após os dois pontos
- imagem:v1
- imagem:22.3.1
- imagem:8
- imagem:8-personalizada3.0
Agora que você entende um pouco sobre tags. Vamos falar sobre tipos de tags no docker ou tipo de imagens. No final das contas, a imagem é definida por sua tag.
Tipos de imagens
Agora que você tem uma noção do que são tags, vamos explorar os diferentes tipos de tags no Docker e o que elas representam. Para os exemplos a seguir, usaremos a imagem popular do Node.js. Esses padrões podem variar dependendo do repositório, mas aqui estão as principais tags para o Node.js:
22 | 22-slim | 22-alpine | 22-stretch | lts | latest |
---|
Mas afinal, o que essas tags nos dizem?
Tag | O que ela significa |
---|---|
22 | Geralmente representa uma versão específica do software |
22-slim | Variante mais enxuta (slim) da imagem da versão 22. Ela inclui apenas os componentes essenciais da imagem, resultando em uma imagem menor |
22-alpine | Variante da versão 22 baseada na distribuição Alpine Linux, conhecida por ser muito leve e minimalista. |
22-stretch | Esta é uma variante da imagem da versão 22 baseada na versão Stretch do Debian. |
lts | LTS significa "Long Term Support" (Suporte de Longo Prazo). Esta tag é usada para indicar uma versão da imagem que recebe atualizações de suporte e manutenção por um período estendido |
latest | Esta tag indica a versão mais recente e geralmente estável da imagem. Ela aponta para a última versão publicada da imagem, que pode incluir as últimas atualizações e melhorias. No entanto, pode não ser uma versão LTS. |
Essas são algumas das principais tags que você encontrará. Existem outras, mas essas cobrem a maioria dos cenários comuns. Em breve, vou publicar um novo artigo sobre como reduzir o tamanho da sua imagem Docker, e conhecer as tags será crucial!