# Containerizacao Docker: guia completo para iniciantes

> Docker é uma plataforma de containerização que empacota aplicações com todas as dependências em ambientes isolados e portáteis. O guia completo para iniciantes ensina instalação, criação de imagens, execução de containers e gerenciamento básico. Containers Docker garantem consistência entre ambientes de desenvolvimento, teste e produção, eliminando problemas de compatibilidade.

*TNT Web · Apps e Software · 21 de julho de 2026 · Dani Travassos*

Containerizacao Docker permite empacotar aplicacoes com suas dependencias em ambientes isolados. Este guia mostra como instalar, criar e gerenciar containers do zero.

Containerizacao com Docker transformou a forma como desenvolvedores empacotam, distribuem e executam aplicacoes. Diferente de maquinas virtuais que emulam hardware completo, containers compartilham o kernel do sistema operacional hospedeiro, o que reduz consumo de recursos e acelera a implantacao. Este guia mostra o passo a passo para comecar com Docker, desde a instalacao ate a execucao de aplicacoes em containers.

## Passo 1: Instalar o Docker

O primeiro passo e instalar o Docker Engine no seu sistema. O processo varia conforme o sistema operacional:

- Windows e macOS: baixe o Docker Desktop do site oficial (docker.com/products/docker-desktop). A instalacao inclui o Docker Engine, CLI e interface grafica.
- Linux (Ubuntu/Debian): use o gerenciador de pacotes. Execute sudo apt update && sudo apt install docker.io e depois sudo systemctl start docker.
- Linux (Fedora/CentOS): sudo dnf install docker e sudo systemctl start docker.

Apos a instalacao, verifique com docker --version. Se o comando retornar a versao, a instalacao funcionou.

**Dica**: no Linux, para evitar usar sudo em todos os comandos, adicione seu usuario ao grupo docker: sudo usermod -aG docker $USER e saia da sessao para aplicar.

**Erro comum**: esquecer de iniciar o servico do Docker. No Linux, se o comando docker ps retornar "Cannot connect to the Docker daemon", execute sudo systemctl start docker.

## Passo 2: Entender os conceitos basicos

Antes de criar containers, e util entender tres conceitos centrais:

- Imagem: um template imutavel com o sistema operacional, codigo e dependencias. Exemplo: ubuntu:22.04.
- Container: uma instancia executavel de uma imagem. Voce pode criar varios containers a partir da mesma imagem.
- Dockerfile: um arquivo de texto com instrucoes para construir uma imagem personalizada.

Diferenca chave: imagem e o "molde", container e o "bolo" executando.

**Dica**: imagens sao armazenadas em registries, como o Docker Hub. O comando docker pull ubuntu baixa a imagem Ubuntu oficial.

**Erro comum**: confundir imagem com container. Uma imagem nao executa processos; ela so existe como arquivo. O container que executa.

## Passo 3: Executar seu primeiro container

Com o Docker instalado, execute um container simples para testar:

docker run hello-world

O Docker baixara a imagem hello-world e executara um container que imprime uma mensagem de confirmacao. Se funcionar, voce esta pronto.

Para um exemplo mais util, execute um container com Ubuntu:

docker run -it ubuntu bash

Isso inicia um container interativo com terminal bash. Voce pode executar comandos dentro do container. Para sair, digite exit.

**Dica**: use docker ps para listar containers em execucao. Use docker ps -a para listar todos, inclusive os parados.

**Erro comum**: nao usar a flag -it para containers interativos. Sem ela, o container inicia e para imediatamente, sem permitir interacao.

## Passo 4: Gerenciar containers e imagens

Apos executar alguns containers, aprenda a gerenciar os recursos:

- Listar imagens baixadas: docker images
- Remover uma imagem: docker rmi 
- Parar um container: docker stop 
- Remover um container: docker rm 
- Remover containers parados: docker container prune

Para nomear um container ao cria-lo, use --name:

docker run --name meu-ubuntu -it ubuntu bash

Isso facilita identificar e gerenciar containers.

**Dica**: use docker system prune para limpar imagens, containers e volumes nao utilizados de uma vez. Cuidado: isso remove tudo que nao esta em uso.

**Erro comum**: acumular containers parados. Eles ocupam espaco em disco. Periodicamente, execute docker container prune.

## Passo 5: Criar uma imagem personalizada com Dockerfile

Para empacotar sua propria aplicacao, crie um Dockerfile. Exemplo simples para uma aplicacao Node.js:

FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "index.js"]

Construa a imagem com:

docker build -t minha-app .

Execute o container:

docker run -p 3000:3000 minha-app

A flag -p mapeia a porta 3000 do container para a porta 3000 do host.

**Dica**: use imagens base leves como alpine para reduzir o tamanho da imagem final. Uma imagem Node.js com Alpine tem cerca de 120 MB, contra 900 MB da versao completa.

**Erro comum**: esquecer o ponto final no comando docker build. O ponto indica o diretorio de contexto (onde esta o Dockerfile). Sem ele, o build falha.

## Checklist do que voce aprendeu

- [ ] Instalou o Docker Engine
- [ ] Entendeu a diferenca entre imagem e container
- [ ] Executou containers com docker run
- [ ] Gerenciou containers com docker ps, docker stop, docker rm
- [ ] Criou uma imagem personalizada com Dockerfile

## Perguntas frequentes sobre containerizacao Docker

### Qual a diferenca entre Docker e maquina virtual?

Docker containers compartilham o kernel do sistema operacional hospedeiro, enquanto maquinas virtuais emulam hardware completo com seu proprio sistema operacional. Containers sao mais leves, iniciam em segundos e consomem menos recursos. Maquinas virtuais oferecem isolamento mais forte, mas com maior custo de desempenho.

### Preciso saber Linux para usar Docker?

Nao e obrigatorio, mas ajuda. A maioria dos comandos Docker e executada no terminal, e muitos containers usam Linux como sistema base. O Docker Desktop para Windows e macOS abstrai parte da complexidade, mas conhecer comandos basicos de terminal facilita o aprendizado.

### O que e Docker Compose?

Docker Compose e uma ferramenta para definir e executar aplicacoes multicontainer. Com um arquivo YAML, voce configura servicos, redes e volumes. Um comando (docker-compose up) inicia todos os containers definidos. E util para aplicacoes que dependem de banco de dados, cache e outros servicos.

### Como persistir dados em containers?

Containers sao efemeros: dados sao perdidos ao remove-los. Para persistir, use volumes. Crie um volume com docker volume create meu-volume e monte-o no container com -v meu-volume:/caminho/no/container. Dados permanecem mesmo apos o container ser removido.

### Docker e seguro?

Docker oferece isolamento por meio de namespaces e cgroups do Linux, mas nao e tao seguro quanto maquinas virtuais. Containers compartilham o kernel, entao uma vulnerabilidade no kernel pode afetar todos os containers. Para ambientes de producao, evite rodar containers como root e mantenha imagens atualizadas.

### Qual a melhor forma de aprender Docker?

Pratique com projetos reais. Comece containerizando uma aplicacao simples (um site estatico ou API). Depois, avance para Docker Compose e orquestracao com Kubernetes. A documentacao oficial (docs.docker.com) e o playground gratuito Play with Docker sao recursos uteis.

---

Fonte (canonical): https://tntweb.com.br/apps-e-software/containerizacao-docker-guia-completo-para-iniciantes/
