Docker Layer Model
Model assumed sizes for Dockerfile steps and inspect the selected stage and its local change suffix.
About this tool
This is an editable size model, not a Docker build or image measurement. Dockerfile text cannot reveal file, package or compressed layer sizes. Enter your assumptions under Default assumptions and adjust the MB values per step. Calculations update automatically. No commands execute and nothing is uploaded.
Each FROM begins a stage. The last stage is selected initially. External images use your base assumption, scratch uses zero, and FROM a previous named stage inherits its estimated size. COPY --from copies only its own assumed bytes, not the whole source stage. Choose any stage to inspect it. MB means 1,000,000 bytes; cumulative size is a simple sum of assumed uncompressed contributions.
RUN, COPY and ADD have editable assumptions. Metadata steps appear with zero assumed size, so you can choose an ENV or WORKDIR change too. A base image is a baseline, not necessarily one physical OCI layer. Defaults are examples, not provider/image facts. Files deleted by later steps may still exist in earlier layers; the model does not simulate a filesystem.
Affected size is the sum from the selected change to the end of the selected stage. It is a local linear teaching model, not rebuild time, network transfer or a prediction of actual BuildKit cache misses. It does not propagate changes through the full cross-stage dependency graph or implement --link, cache/bind mounts, secrets, ONBUILD triggers, ARG/variable expansion, checksums, compression or deduplication.
Full-line comments, backslash continuations and # escape= directives are supported. Global ARG is accepted; heredocs and unrecognized/malformed instructions produce an error. This is not complete Dockerfile validation. Limits: 65,536 characters, 500 physical lines, 200 instructions, each editable size 0…1,000,000 MB. Positive values that become numeric zero are rejected.
Source, default assumptions and manually entered step sizes are kept as exact raw inputs through the shared local browser adapter. No totals, parsed steps, stage selection or changed-step selection are stored. Step edits are retained only while their instruction text and position still match; changing that instruction discards its override. Empty or invalid sizes hide totals until corrected. Editing a size updates in place without moving focus.