Skip to content

Commit 14d2257

Browse files
Add: multiple dockerfile approaches
1 parent 223ec5c commit 14d2257

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

Diff for: alpine/REAME.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Vantagens de usar Alpine Linux
2+
3+
Alpine Linux é uma distribuição Linux leve e segura. Ela é muito popular no mundo do Docker, pois as imagens Alpine são menores e mais seguras que as imagens baseadas em outras distribuições Linux.
4+
5+
## Por que usar Alpine Linux?
6+
7+
- **Tamanho da imagem:** as imagens Alpine são menores que as imagens baseadas em outras distribuições Linux, como Ubuntu e CentOS. Isso significa que as imagens Alpine são mais rápidas para baixar, enviar e executar.
8+
9+
- **Segurança:** Alpine Linux é conhecido por sua segurança. Ele é projetado com a segurança em mente e tem um histórico de correção rápida de vulnerabilidades.
10+
11+
- **Eficiência:** Alpine Linux é otimizado para ser leve e eficiente. Ele é projetado para ser executado em ambientes com recursos limitados, como contêineres Docker.
12+
13+
- **Comunidade ativa:** Alpine Linux tem uma comunidade ativa e crescente. Isso significa que você pode obter suporte e ajuda facilmente se precisar.

Diff for: distroless/README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# O que são imagens distroless?
2+
3+
Imagens distroless são imagens Docker que contêm apenas o aplicativo e suas dependências, sem um sistema operacional. Isso torna a imagem mais segura e menor.
4+
5+
A vantagem de usar imagens distroless é que elas são menores e mais seguras. Como não há um sistema operacional dentro da imagem, não há pacotes desnecessários que possam ser explorados por um invasor.
6+
7+
## O nosso exemplo de imagem distroless
8+
9+
- **Faça o pull da imagem:**
10+
11+
```
12+
docker pull nataliagranato/my-app:v4.0.0
13+
```
14+
15+
- **Execute o contêiner:**
16+
17+
```
18+
docker run --rm nataliagranato/my-app:v4.0.0
19+
```
20+
21+
**Prepare-se para ver a mensagem de saída do nosso aplicativo.**
22+
23+
Você pode ver que a imagem é bem menor que a imagem anterior, pois não temos um sistema operacional dentro dela, apenas o binário do nosso aplicativo.

Diff for: multi-stage/REAME.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Multi stage build
2+
3+
Este é um exemplo de Dockerfile que utiliza a técnica de multi-stage build. Nessa abordagem utilizamos múltiplos estágios para construir a imagem Docker. No primeiro estágio, utilizamos uma imagem com um sistema operacional completo para compilar o código-fonte do nosso aplicativo. No segundo estágio, copiamos o binário gerado no primeiro estágio para uma imagem menor e mais segura, sem um sistema operacional.

Diff for: traditional/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Um Dockerfile tradicional
2+
3+
Este é um exemplo de Dockerfile tradicional, que é um arquivo de texto que contém uma série de instruções para a construção de uma imagem Docker. Nele utilizamos um sistema operacional completo, o que torna a imagem maior e menos segura. Não usamos a abordagem de multi-stage build, que é uma técnica para reduzir o tamanho das imagens Docker. Tampouco um sistema operacional minimalista, como o Alpine Linux.

0 commit comments

Comments
 (0)