Criando os containers docker mais comuns

Estou aprofundando meus conhecimentos em docker. Quero fazer tados as brincadeiras a seguir sem usar o docker-compose por querer ter uma experiência mais real no uso dessa criança. Aliás, acho que é o melhor jeito de aprender bem o tema.

Alpine Linux

Esse é o linux mais leve que existe. Ele ocupa apenas 5 MB. Não é à toa que muitas das imagens existentes são baseadas nessa:

docker run -it — name anselmepine alpine

Ao invés de usar o ubuntu para tudo, considere usar o alpine. Veja:

# Dockerfile: mysql com ubuntu
# 28 segundos, 169 MB
FROM ubuntu-debootstrap:14.04
RUN apt-get update -q \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qy mysql-client \
&& apt-get clean \
&& rm -rf /var/lib/apt
ENTRYPOINT ["mysql"]

Por outro lado

# Dockerfile: mysql com alpine
# 4 segundos, 41 MB
FROM alpine:3.9
RUN apk add --no-cache mysql-client
ENTRYPOINT ["mysql"]

Ubuntu

Esse é o rei. O mais utilizado, pelo menos os ambientes de desenvolvimento. Realmente facilita muito o fato dele já ter um apt-get instalado (coisa que não tem no alpine). Mas, tem que dar um update por que ele não esta com o cache atualizado.

docker run -it — name anselmeubuntu ubuntu:rolling

Hello-World

Essa deve ser a imagem mais baixada de todas, ou não. Fato é que todos que iniciam seus estudos em docker passam por ela. Ela é simples, mas se você olhar o repositório da imagem vai se impressionar com a complexidade do seu dockerfile. Ela é feita para ter o máximo de compatibilidade possível. Me parece que é por isso que ela é baseada em debian pesando apenas 13kB

docker run hello-world


Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Deixe um comentário