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
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_HERECole 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/MCP | A 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:
FROMcom sua imagem e tag- Variáveis de build-time
ARG WORKDIR- Variáveis de runtime
ENV(valores com espaços são citados automaticamente) - Uma
RUNde instalação de pacotes do sistema que usaapk add --no-cacheem imagens Alpine eapt-get install --no-install-recommends(com limpeza de lista apt) em qualquer outro lugar - Uma camada de cópia + instalação de dependências, mantida separada do seu source para que Docker possa cachear as dependências instaladas
COPY . .para o restante do source- Uma
RUNde build opcional EXPOSE, umUSERnão-root opcional, umHEALTHCHECKopcionalENTRYPOINTe/ouCMDem 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.