docker init: Scaffold Dockerfiles & Compose
Scaffold a Dockerfile, .dockerignore, and compose.yaml for a project.
docker init detects your project type and generates starter Docker assets. This page covers what it creates and how to use it as a CI starting point.
What it does
docker init runs an interactive wizard that detects the language/framework and writes a Dockerfile, .dockerignore, compose.yaml, and a README.Docker.md tuned to it. It is a scaffolding aid, not a build step.
Common usage
docker init
# follow the prompts to pick platform/language
docker build -t myapp .
docker compose upCommon errors in CI
docker init is interactive and prompts for input, so it does not belong in a non-interactive CI job - run it locally once and commit the generated files. If the files already exist it asks before overwriting; a no-TTY environment cannot answer that prompt. Treat its output as a starting point to harden (pin base image versions, slim layers) before relying on it in CI.