Pular para o conteúdo principal

Gerador de Dockerfile

Gere um Dockerfile pronto para produção a partir de entradas estruturadas — escolha uma stack base (Node, Python, Go, Java, Ruby, PHP, Rust, .NET, Nginx, ou uma imagem personalizada), depois defina WORKDIR, ARGs de build, variáveis ENV, pacotes do sistema, instalação de dependências, comando de build, portas expostas, um usuário não-root, HEALTHCHECK e ENTRYPOINT/CMD em forma exec ou shell. Executa totalmente no seu navegador.

Entrada

A tag anexada após o nome da imagem (image:TAG).

Variáveis de tempo de build. Cada linha se torna uma instrução ARG.

Variáveis de runtime. Cada linha se torna uma instrução ENV.

Instalados via apk/apt-get baseado na imagem base. Deixe em branco para pular.

Copiados primeiro para melhor cache de camada Docker.

Executado após os arquivos de dependência serem copiados.

Opcional. Executado após a fonte completa ser copiada.

Portas TCP separadas por vírgula.

Opcional. Define o USER para runtime.

Opcional. Comando shell executado dentro do container.

Forma exec é um array JSON e não executa em um shell; forma shell é usada verbatim.

Opcional. Use quando CMD apenas fornece argumentos.

Processo padrão quando o container inicia.

Saída

Dockerfile Gerado
 
Isso foi útil?

Mais formas de usar esta ferramenta

API REST

curl -X POST https://api.iotools.cloud/v1/tool/dockerfile-generator \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "stack": "node",
    "imageTag": "20-alpine",
    "workdir": "/app",
    "envVars": "NODE_ENV=production",
    "depFiles": "package.json package-lock.json",
    "installDeps": "npm ci --omit=dev",
    "exposePorts": "3000",
    "runUser": "node",
    "cmdForm": "exec",
    "cmdValue": "node server.js"
  }'

Troque pela sua própria chave, da sua conta. Os campos da ferramenta viram o corpo da requisição — sem envelope.

Peça a um agente de IA

Use the IOTools `dockerfile-generator` tool (Dockerfile Generator) on this input:

YOUR_INPUT_HERE

Cole isto em qualquer agente conectado ao servidor MCP do IOTools e depois adicione sua entrada.

Widget para incorporar

<iframe
  src="https://iotools.cloud/embed/dockerfile-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Gerador de Dockerfile — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Coloque isso na sua própria página — grátis, sem chave, só um link de volta.

Custo por chamada de API/MCPA partir de 5 créditos
Precisa de mais créditos?Ver preços

Também disponível via

Guias

O Gerador de Dockerfile constrói um Dockerfile limpo e pronto para produção a partir de alguns campos estruturados em vez de memorizar a ordem das instruções e as melhores práticas. Escolha uma stack base, preencha como seu aplicativo se instala e começa, e copie o resultado — sem daemon Docker, sem upload, nada sai do seu navegador.

O que ele faz

Você escolhe uma stack base (Node.js, Python, Go, Java, Ruby, PHP, Rust, .NET, Nginx, Alpine, Ubuntu, Debian, ou uma referência completa de imagem personalizada) e a ferramenta monta um Dockerfile single-stage na ordem convencional, amiga do cache:

  1. FROM com sua imagem e tag
  2. Variáveis de build-time ARG
  3. WORKDIR
  4. Variáveis de runtime ENV (valores com espaços são citados automaticamente)
  5. Uma RUN de instalação de pacotes do sistema que usa apk add --no-cache em imagens Alpine e apt-get install --no-install-recommends (com limpeza de lista apt) em qualquer outro lugar
  6. Uma camada de cópia + instalação de dependências, mantida separada do seu source para que Docker possa cachear as dependências instaladas
  7. COPY . . para o restante do source
  8. Uma RUN de build opcional
  9. EXPOSE, um USER não-root opcional, um HEALTHCHECK opcional
  10. ENTRYPOINT e/ou CMD em forma exec (um array JSON, recomendado) ou shell

Como usar

Selecione sua stack, depois ajuste a tag e os comandos de instalação/build para corresponder ao seu projeto. Arquivos de dependência são copiados antes do seu source completo propositalmente: enquanto seu lockfile não mudar, Docker reutiliza a camada de instalação em cache e as reconstruções são rápidas. Deixe qualquer campo opcional em branco para omitir essa instrução. Quando estiver satisfeito com a prévia, use Copy ou Download para salvá-lo como Dockerfile na raiz do seu projeto.

Forma exec vs forma shell

Forma exec (CMD ["node", "server.js"]) executa seu processo diretamente como PID 1, então recebe sinais como SIGTERM e desliga perfeitamente — é por isso que é recomendado. Forma shell (CMD node server.js) envolve o comando em /bin/sh -c, que é útil quando você precisa de recursos shell como expansão de variáveis ou &&, ao custo de um shell sentado entre o runtime e seu processo.

Por que um usuário não-root?

Configurar USER para uma conta não-root limita o raio de explosão se o container for comprometido. Muitas imagens oficiais (como node) vêm com um usuário desprivilegiado pronto para usar. Deixe o campo vazio se sua imagem base não tiver um usuário adequado.

Ela faz builds multi-stage?

Não — esta ferramenta produz um Dockerfile single-stage, que cobre o caso mais comum. Para linguagens compiladas você ainda pode adicionar um comando de build; para uma imagem final mais enxuta você editaria manualmente a saída em um build multi-stage.

É um Dockerfile válido e construível?

Ele segue a sintaxe oficial do Docker e convenções amplamente usadas, mas os comandos (instalação, build, inicialização) devem corresponder ao seu projeto real. Trate a saída como um ponto de partida forte e ajuste conforme necessário.

Privacidade

Tudo funciona localmente no seu navegador. Seus nomes de imagem, variáveis de ambiente, comandos e Dockerfile gerado nunca são enviados ou registrados — a ferramenta realiza geração de texto puro no seu dispositivo.

dockerdockerfilecontainerdevopsci/cdimage

Ama as ferramentas? Livre-se dos anúncios.

Um único pagamento remove todos os anúncios da sua conta, para sempre. Sem assinatura, sem rastreamento.