Curso Técnico de Docker: História, Linha do Tempo e Comandos

Docker revolucionou a forma como desenvolvedores e administradores gerenciam e distribuem suas aplicações. Este curso irá cobrir a história do Docker, sua linha do tempo, adoção global e ensinar os principais comandos que você precisa para começar a usá-lo de maneira eficaz.

História do Docker

Docker foi lançado em março de 2013 pela empresa dotCloud, que depois se tornou Docker Inc.. Criado por Solomon Hykes, Docker surgiu com o objetivo de facilitar a criação, distribuição e execução de aplicações de maneira consistente em diferentes ambientes. Sua principal inovação foi a introdução de containers, que permitem que uma aplicação e todas as suas dependências sejam empacotadas em um ambiente isolado e portátil.

Antes do Docker, a virtualização era feita principalmente por máquinas virtuais (VMs), que possuem overhead significativo em comparação aos containers. Com os containers, apenas o sistema operacional e os processos da aplicação são isolados, o que reduz significativamente o uso de recursos.

Linha do Tempo

  • 2013: Lançamento do Docker como um projeto open-source.
  • 2014: Lançamento da Docker Hub, um repositório central de imagens de containers.
  • 2015: O Docker Swarm foi introduzido, permitindo a orquestração de containers em clusters.
  • 2017: O Kubernetes se tornou a principal ferramenta de orquestração, e o Docker integrou o suporte nativo.
  • 2020: Docker anunciou a separação da sua divisão de produtos empresariais, focando-se no Docker Desktop e no desenvolvimento da comunidade.

Tecnologias Relacionadas

  • LXC (Linux Containers): A base inicial do Docker, permite a execução de múltiplos sistemas isolados.
  • Kubernetes: Principal orquestrador de containers em larga escala.
  • Docker Compose: Ferramenta para definir e executar aplicações Docker com múltiplos containers.
  • Docker Swarm: Solução de orquestração nativa do Docker para clusters.

Adoção Global

Docker rapidamente se popularizou pela sua simplicidade e eficiência. Hoje, é usado por milhões de desenvolvedores em todo o mundo. Aqui estão alguns números impressionantes de adoção:

  • Mais de 13 milhões de desenvolvedores utilizam o Docker.
  • Mais de 7 milhões de aplicações foram construídas usando Docker.
  • O Docker Hub possui mais de 10 bilhões de pulls de imagens.
  • Docker é usado por 55% das empresas que implementam DevOps em seus pipelines.

Principais Comandos Docker

Agora que você conhece um pouco da história do Docker, vamos explorar alguns dos principais comandos que são essenciais para o uso diário.

1. Instalando o Docker

Antes de começar a usar Docker, você precisará instalá-lo. No Linux, por exemplo, você pode seguir estas instruções:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2. Rodando um Container

Este é o comando mais básico do Docker. Vamos rodar uma aplicação simples como o Nginx:

docker run -d -p 80:80 nginx
  • -d roda o container em segundo plano (detached).
  • -p 80:80 mapeia a porta 80 do host para a porta 80 do container.

3. Listando Containers

Para ver quais containers estão rodando:

docker ps
  • docker ps -a mostra todos os containers, incluindo os que estão parados.

4. Criando Volumes

Volumes permitem persistir dados entre execuções de containers. Para criar e usar um volume:

docker volume create meu-volume
docker run -d -v meu-volume:/app nginx
  • -v meu-volume:/app monta o volume criado no caminho /app dentro do container.

5. Expondo Portas

Expor portas é essencial para permitir que os serviços rodando dentro de containers sejam acessíveis externamente. Exemplo:

docker run -d -p 8080:80 nginx
  • Esse comando expõe a porta 8080 do host para a porta 80 do container, permitindo que você acesse o serviço de Nginx no localhost:8080.

6. Adicionando Recursos Locais

Você pode mapear diretórios locais para dentro do container com o comando -v:

docker run -d -v /meu/diretorio/local:/app nginx
  • Isso mapeia o diretório local /meu/diretorio/local para o diretório /app dentro do container.

7. Removendo Containers

Para parar e remover containers que não são mais necessários:

docker stop container_id
docker rm container_id
  • Substitua container_id pelo ID do container obtido através do comando docker ps.

8. Construindo uma Imagem

Você pode criar suas próprias imagens Docker usando um Dockerfile. Exemplo simples de um Dockerfile:

FROM python:3.8
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Construa a imagem com o seguinte comando:

docker build -t minha-imagem .
  • -t minha-imagem define o nome da imagem.

9. Subindo Imagem para Docker Hub

Depois de criar sua imagem, você pode subir para o Docker Hub para compartilhar com a comunidade:

docker login
docker tag minha-imagem meu-usuario/minha-imagem
docker push meu-usuario/minha-imagem

Conclusão

Docker continua sendo uma ferramenta essencial no mundo do desenvolvimento e operação de software. Desde sua criação em 2013, revolucionou a forma como aplicações são desenvolvidas, distribuídas e executadas. Com o conhecimento básico dos comandos e a compreensão de como os volumes, portas e mapeamento de diretórios funcionam, você pode começar a usar Docker de maneira eficiente e produtiva.

Edvaldo Guimrães Filho Avatar

Published by

Categories:

Leave a comment