Guias

O que é o Docker? Contentores explicados para não programadores

O Docker é uma ferramenta que empacota uma app juntamente com tudo o que precisa para correr — a versão certa da linguagem, as bibliotecas, as ferramentas de sistema e as definições — numa unidade padrão chamada contentor. Um contentor corre da mesma forma no portátil de um programador, num servidor de testes ou num alojamento na nuvem, o que acaba com o clássico problema do «mas funcionava na minha máquina». A receita para construir um contentor é um ficheiro de texto curto chamado Dockerfile.

Porque é que o Docker importa quando cria com IA

Se a sua app tem um backend — uma API em Python, Node, C# ou Java — tem de correr num sítio com exatamente o software certo instalado. O Docker é a forma mais comum de tornar isso repetível.

  • Publicar backends. Muitos alojamentos, incluindo o Mythex, publicam backends construindo um contentor a partir de um Dockerfile. No Mythex, se pedir «uma API web em C#» ou «um backend em Java», recebe a app mais um Dockerfile, e Publicar cria a imagem e implementa-a (backends de API).
  • Sair de uma plataforma. Se exportar uma app criada com IA, um Dockerfile facilita muito executá-la noutro alojamento. Veja como exportar e alojar por conta própria uma app criada com IA.
  • Trabalhar com programadores. Um programador que se junte ao seu projeto consegue arrancar a app inteira com um ou dois comandos, em vez de passar um dia a instalar coisas.

Uma analogia do dia a dia: contentores de carga

Antes dos contentores de carga normalizados, a carga era movida peça a peça — sacos, barris, caixas — e cada porto tratava-a de forma diferente. O contentor de aço padronizado mudou isso: embala-se uma vez, e qualquer navio, grua, comboio ou camião o pode mover sem se preocupar com o que lá está dentro.

O Docker faz o mesmo com o software:

  • O Dockerfile é a lista de embalagem e as instruções.
  • A imagem é o contentor selado e embalado.
  • Um contentor em execução é essa caixa a trabalhar num navio — aqui, um servidor.
  • O Docker Engine é a grua e o navio: o software num servidor que sabe executar qualquer contentor.

Como funciona o Docker

PeçaO que é
DockerfileUm ficheiro de texto com instruções passo a passo para construir a imagem.
ImagemUm pacote só de leitura: os elementos básicos do sistema operativo, o runtime, as bibliotecas e o seu código.
ContentorUma instância em execução de uma imagem, isolada de outras apps na mesma máquina.
RegistoUm lugar para guardar e partilhar imagens, como o Docker Hub ou o registo de um fornecedor de nuvem.
Docker EngineO serviço em segundo plano que constrói imagens e executa contentores. Gratuito e de código aberto.
Docker DesktopUma aplicação para Mac, Windows e Linux que junta o engine a uma interface gráfica.

Contentores vs máquinas virtuais: uma máquina virtual finge ser um computador completo e separado, com o seu próprio sistema operativo, por isso é pesada e lenta a arrancar. Um contentor partilha o kernel do sistema operativo anfitrião e isola apenas a app e os seus ficheiros, por isso costuma arrancar em segundos e usa muito menos memória. Muitos contentores podem correr lado a lado num só servidor.

Um exemplo prático: uma pequena API Python

Imagine que o seu criador com IA criou um backend FastAPI em Python para uma app de marcações. O Dockerfile poderia ser assim:

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Linha a linha:

LinhaO que faz
FROM python:3.12-slimComeça a partir de uma imagem oficial que já tem o Python 3.12 instalado.
WORKDIR /appTrabalha dentro da pasta /app do contentor.
COPY requirements.txt . e RUN pip install ...Copia a lista de bibliotecas e instala-as.
COPY . .Copia o próprio código da app.
EXPOSE 8000Indica que a app escuta na porta 8000.
CMD [...]O comando que arranca o servidor web quando o contentor corre.

Dito por palavras simples: «Começa com o Python 3.12. Instala as bibliotecas listadas em requirements.txt. Copia o código. Arranca o servidor web na porta 8000.»

Um programador (ou uma plataforma de alojamento) executa depois dois comandos:

docker build -t booking-api .
docker run -p 8000:8000 booking-api

O primeiro constrói a imagem e dá-lhe o nome booking-api. O segundo arranca um contentor e liga a porta 8000 da máquina à porta 8000 dentro do contentor. A API está agora em execução — da mesma forma que estará em qualquer servidor que tenha Docker.

Repare no que não está na imagem: passwords e chaves de API. Essas são passadas quando o contentor arranca, como variáveis de ambiente, para que a mesma imagem possa correr em testes e em produção com definições diferentes.

Termos-chave

TermoSignificado
ContentorUm pacote isolado e em execução de uma app e das suas dependências.
ImagemO modelo a partir do qual um contentor é iniciado.
Imagem baseO ponto de partida na linha FROM de um Dockerfile, como python:3.12-slim ou node:22.
Camada (layer)Cada passo do Dockerfile acrescenta uma camada em cache, o que torna as reconstruções mais rápidas.
Mapeamento de portasLigar uma porta do anfitrião a uma porta dentro do contentor.
VolumeArmazenamento que sobrevive quando um contentor é substituído. Os contentores em si são descartáveis.
Docker ComposeUm ficheiro que descreve vários contentores a correr em conjunto, como uma API mais uma base de dados.
KubernetesUm sistema para executar muitos contentores em muitos servidores. A maioria das apps pequenas não precisa dele.

Erros e ideias erradas comuns

  • «O Docker é uma máquina virtual.» É mais leve: os contentores partilham o kernel do anfitrião.
  • «Os dados guardados dentro de um contentor estão seguros.» Os contentores foram feitos para serem descartados e substituídos. Tudo o que tem de durar — dados de utilizadores, uploads — pertence a uma base de dados, a um armazenamento de ficheiros ou a um volume.
  • «Pôr segredos no Dockerfile é seguro porque é privado.» As imagens são partilhadas e enviadas para registos. Passe os segredos em tempo de execução.
  • «O Docker torna uma app segura.» O isolamento ajuda, mas um contentor com software desatualizado e definições fracas continua vulnerável.
  • «Toda a app precisa de Docker.» Um site estático ou um frontend simples costuma ser alojado como simples ficheiros, sem contentor nenhum.
  • «O Docker Desktop é gratuito para toda a gente.» O engine é gratuito; o Docker Desktop exige uma subscrição paga para empresas maiores, segundo os termos do Docker.

O que pedir ao seu criador com IA

  • «Esta app precisa de um Dockerfile? Se sim, explica cada linha em linguagem simples.»
  • «Usa uma imagem base pequena e oficial e fixa a versão da linguagem.»
  • «Mantém os segredos fora da imagem. Lê-os de variáveis de ambiente em tempo de execução.»
  • «Garante que os uploads e os dados são guardados na base de dados ou no armazenamento de ficheiros, não dentro do contentor.»
  • «Acrescenta um ficheiro Docker Compose para que um programador consiga correr o frontend, a API e a base de dados localmente com um só comando.»
  • «Acrescenta um endpoint de verificação de saúde para que o alojamento consiga saber se a API está em funcionamento.»

Docker no Mythex

Não precisa de instalar nem de executar o Docker para usar o Mythex. O seu projeto corre num ambiente de nuvem privado, e quando pede um backend que precise de um contentor — por exemplo C#, Java ou um serviço Node ou Python personalizado — o Mythex escreve a app mais um Dockerfile, pré-visualiza-a no ambiente e implementa-a quando publica, sem nada para configurar no alojamento (como é escolhida a tecnologia). No Pro, pode exportar o projeto ou sincronizá-lo com o GitHub e levar o Dockerfile consigo. Para perceber como backends e frontends se articulam, veja frontend vs backend.

Perguntas

O que é o Docker, em termos simples?

O Docker é uma ferramenta que empacota uma app juntamente com tudo o que precisa para correr — o runtime da linguagem, as bibliotecas e as definições — numa unidade padrão chamada contentor. O contentor corre da mesma forma num portátil, num servidor de testes ou num alojamento na nuvem.

Qual é a diferença entre uma imagem Docker e um contentor?

Uma imagem é o modelo empacotado e só de leitura: a app e as suas dependências, construídos a partir de um Dockerfile. Um contentor é uma cópia em execução dessa imagem. Pode iniciar muitos contentores a partir de uma só imagem.

O Docker é uma máquina virtual?

Não. Uma máquina virtual emula um computador completo com o seu próprio sistema operativo. Os contentores partilham o kernel do sistema operativo da máquina anfitriã e isolam apenas a app, por isso arrancam mais depressa e usam menos memória.

O Docker é gratuito?

O Docker Engine, o núcleo que executa os contentores, é gratuito e de código aberto. Segundo os termos do Docker, a partir de setembro de 2026, o Docker Desktop é gratuito para projetos de código aberto não comerciais e para empresas com menos de 250 funcionários e menos de 10 milhões de dólares de faturação anual; empresas maiores precisam de uma subscrição paga.

Preciso de aprender Docker para criar uma app com IA?

Normalmente não. Muitos criadores com IA tratam dos contentores por si. Convém saber o que é um Dockerfile, para perceber como é empacotado um backend e para o poder executar ou alojar noutro sítio se exportar a app.

Mythex · Pricing · Crie qualquer coisa com IA · Modelos de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)