Pular para o conteúdo principal

Como criar seu primeiro container com Docker

Criando_Docker

Se você está começando com Docker, este é o guia completo que você precisa. Vamos explicar o que é Docker de forma simples, criar seu primeiro container, entender imagens, volumes, redes e muito mais. Ideal para quem está aprendendo DevOps ou deseja turbinar seu fluxo de desenvolvimento!

O que é Docker?

Docker é uma plataforma que permite empacotar aplicações e suas dependências em containers, de forma leve, portátil e reproduzível. Pense no container como uma "caixinha" que leva tudo o que sua aplicação precisa para funcionar, independente do sistema operacional.

Analogia: Imagine que sua aplicação é um aplicativo móvel. Para funcionar, ela precisa de um sistema operacional, bibliotecas, atualizações... Agora imagine que você pode empacotar tudo isso num único pacote que funciona em qualquer lugar — isso é um container!

Por que usar Docker?

  • Você evita o clássico "na minha máquina funciona".
  • É fácil mover aplicações entre ambientes (desenvolvimento, testes, produção).
  • É mais leve e rápido que máquinas virtuais.
  • Ajuda no versionamento e automação de ambientes.

Como o Docker funciona por trás dos panos?

O Docker utiliza recursos do kernel do Linux como namespaces e cgroups para isolar processos e limitar recursos. Ele roda containers com base em imagens (camadas empilhadas), que são como "snapshots" de um sistema de arquivos.

Instalação do Docker

  • Linux (Ubuntu):
sudo apt update
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker

Verificando a instalação

docker --version

Saída esperada: Docker version 24.x.x, build xxxxxxx

Primeiros comandos com Docker

Rodando o clássico Hello World

docker run hello-world

O Docker baixa a imagem hello-world do Docker Hub (repositório público de imagens), roda um container temporário e imprime uma mensagem.

Entendendo o comando

  • docker – a ferramenta de linha de comando
  • run – cria e executa um container
  • hello-world – a imagem usada

Rodando um container interativo com Ubuntu

docker run -it ubuntu

Você terá acesso ao terminal do Ubuntu dentro de um container. Experimente usar comandos:

ls
pwd
apt update

Para sair do terminal do container:

  • exit – encerra o container
  • Ctrl + P + Ctrl + Q – sai sem encerrar

Compreendendo imagens Docker

Uma imagem Docker é como uma "receita congelada". Ela contém um sistema de arquivos com tudo o que sua aplicação precisa.

Para listar imagens locais:

docker images

Para remover imagens:

docker rmi nome_ou_id

Criando sua própria imagem com Dockerfile

1. Crie um arquivo index.html:

<h1>Meu site com Docker</h1>

2. Crie o Dockerfile:

FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html

3. Construa a imagem:

docker build -t meu-site

4. Rode o container:

docker run -d -p 8080:80 meu-site

5. Acesse: http://localhost:8080

Volumes: persistência de dados

Por padrão, dados em containers são descartáveis. Para mantê-los entre execuções, usamos volumes.

Exemplo com volume:

docker run -d -v meu_volume:/app/data alpine

Agora, o diretório /app/data dentro do container será mapeado para o volume meu_volume no host.

Redes entre containers

Containers podem se comunicar por meio de redes Docker. Exemplo:

docker network create minha-rede

docker run -d --name banco --network minha-rede postgres
docker run -d --name app --network minha-rede meu-app

Agora, o container app pode se comunicar com banco usando o nome do container como host!

Erros comuns e como resolver

  • Permissão negada ao rodar Docker: use sudo docker ou adicione seu usuário ao grupo Docker.
  • Porta já em uso: verifique com lsof -i :8080 ou mude a porta com -p 8081:80
  • Imagem não encontrada: verifique se escreveu o nome corretamente ou faça docker pull nome

Boas práticas com Docker

  • Use imagens leves (ex: alpine) sempre que possível
  • Minimize o número de camadas no Dockerfile
  • Evite executar containers como root
  • Use .dockerignore como se fosse um .gitignore para evitar enviar arquivos desnecessários

Próximos passos para estudar

  • Aprender Docker Compose para orquestrar múltiplos containers
  • Explorar Docker Hub e criar sua conta para publicar imagens
  • Estudar Kubernetes como próximo nível para gerenciamento de containers

Conclusão

Você aprendeu os fundamentos do Docker, rodou containers, criou imagens, entendeu volumes e redes, além de boas práticas e próximos passos. Docker é uma habilidade indispensável no mundo DevOps e com o que você viu aqui, já pode começar a usar em seus próprios projetos.

Se gostou desse tutorial, compartilhe com outros desenvolvedores e continue acompanhando o blog para mais conteúdos práticos e completos!

Comentários

Mais vistas

Tutorial: Criando uma Animação de Roleta de Prêmios usando HTML, CSS e JavaScript

Animação Roleta de Prêmios: Descubra como criar uma animada roleta de prêmios com este tutorial detalhado. Este projeto consiste em uma Animação,  uma roleta

Os Melhores Sites para Programar de Graça: Aprenda e Pratique Online

A programação é uma habilidade indispensável no mercado atual, seja para desenvolver websites, criar aplicações ou trabalhar com dados. Felizmente, existem muitas plataformas gratuitas

Autocode: Significado e Funcionalidade

O Que é Autocode? O Autocode é amplamente reconhecido como uma das primeiras linguagens de programação de computadores e um marco histórico no desenvolvimento

Tutorial: Construindo um semáforo com HTML, CSS e JavaScript

Semáforo Funcional: Aprenda a criar um semáforo funcional com este tutorial detalhado. Descubra como implementar a lógica de controle de um semáforo usando HTML, CSS e JavaScript.