# Docker vs Podman: source lines of code compared

The Docker vs Podman comparison on OctoCounts shows side-by-side source line counts for moby/moby and containers/podman, counted with the same engine and analysis options on the dates shown in the methodology line: files, total lines, code lines, comment lines, blank lines, and per-language totals, pinned to the exact commits listed below.

As of 2026-09-15, moby/moby contains 410,321 total lines (314,640 code) across 2,406 files, while containers/podman contains 253,002 total lines (176,452 code) across 1,448 files as of 2026-09-16. moby/moby is about 1.8x the size of containers/podman by code lines. Code size is not code quality: a larger count only means more source material, not a better or worse project.

| Metric | [moby/moby](https://octocounts.com/github/moby/moby) | [containers/podman](https://octocounts.com/github/containers/podman) |
| --- | ---: | ---: |
| Files | 2,406 | 1,448 |
| Total lines | 410,321 | 253,002 |
| Code lines | 314,640 | 176,452 |
| Comment lines | 43,160 | 46,327 |
| Blank lines | 52,521 | 30,223 |
| Languages counted | 12 | 12 |

Top languages in moby/moby: Go (93.7% of code), YAML (4.4% of code), Shell (0.7% of code). Top languages in containers/podman: Go (93.3% of code), Perl (1.9% of code), PowerShell (1.0% of code). Go, Shell appear in both top language lists; YAML, Dockerfile, BASH appear only in moby/moby's top languages; Perl, PowerShell, C appear only in containers/podman's top languages.

Methodology: both counts come from cached OctoCounts reports generated with tokei. moby/moby was counted at ref f29c5d800786939e0438ea462545a0fe3ecbdb8d (commit f29c5d800786) on 2026-09-15; containers/podman was counted at ref c2a39c6b7ece1c09d30937957676f48143fe9ab1 (commit c2a39c6b7ece) on 2026-09-16. See the [counting methodology](https://octocounts.com/docs/methodology) for ignored directories and analysis options.
## About this comparison

moby/moby counts the Moby project repository — the upstream open-source components from which the Docker Engine is assembled — rather than the Docker CLI or Desktop products, which live in other repositories. containers/podman counts the Podman repository: the daemonless container engine and its accompanying tooling. Both are container-engine source trees written largely in Go, counted on the dates shown above.

Both repositories are predominantly Go, and the per-language tables show that on both sides; this page compares two Go codebases in the same product category of container engines.

Podman's repository includes additional command-line and companion components alongside the engine, while Moby's repository is the engine upstream from which Docker's commercial products are built — so each total is organized around a different release boundary.

_The left count is Moby, Docker's upstream project, not the Docker product most users install; Docker Desktop and the Docker CLI ship from other repositories, so neither total here is a complete picture of either vendor's product surface._

Sources: [moby/moby repository (upstream components of the Docker Engine)](https://github.com/moby/moby) · [containers/podman repository](https://github.com/containers/podman). Statements verified 2026-09-16.

Evidence and next steps:

- [moby/moby SLOC report](https://octocounts.com/github/moby/moby)
- [containers/podman SLOC report](https://octocounts.com/github/containers/podman)
- [Compare moby/moby and containers/podman interactively](https://octocounts.com/compare?left=https%3A%2F%2Fgithub.com%2Fmoby%2Fmoby&right=https%3A%2F%2Fgithub.com%2Fcontainers%2Fpodman)

Note: code size is not code quality. OctoCounts only reports reproducible line counts and makes no claim that either project is better.

## Compare FAQ

### Which has more lines of code, moby/moby or containers/podman?

moby/moby has more code: 314,640 code lines versus 176,452 for containers/podman, about 1.8x as much, based on cached OctoCounts reports as of 2026-09-16.

### Does more source lines of code mean more complexity?

Not necessarily. SLOC measures size, not complexity, quality, or maintainability. A larger codebase can mean more features, more generated or vendored code, more verbose language idioms, or more tests — none of which imply the code is harder to work with. Use SLOC to gauge the scale of what you'd be reading or maintaining, not as a quality signal for moby/moby, containers/podman, or any repository.

### How is this comparison calculated?

Methodology: both counts come from cached OctoCounts reports generated with tokei. moby/moby was counted at ref f29c5d800786939e0438ea462545a0fe3ecbdb8d (commit f29c5d800786) on 2026-09-15; containers/podman was counted at ref c2a39c6b7ece1c09d30937957676f48143fe9ab1 (commit c2a39c6b7ece) on 2026-09-16. See the counting methodology for ignored directories and analysis options.

### Can I compare a different branch, tag, or commit?

Yes. This page shows the default branch for each repository. Use the interactive comparison tool to pick any public GitHub repository, branch, tag, or commit SHA for both sides and get a fresh side-by-side report.

## Related OctoCounts pages

- [Interactive repository comparison](https://octocounts.com/compare)
- [Recently analyzed repositories](https://octocounts.com/recent)
- [Popular SLOC reports](https://octocounts.com/popular)
- [Trending GitHub repositories](https://octocounts.com/trending)
- [Hall of Monoliths](https://octocounts.com/hall-of-monoliths)
- [Original research: how filtering changes SLOC counts](https://octocounts.com/research)
- [GitHub SLOC counter guide](https://octocounts.com/docs/github-sloc-counter)
- [Counting methodology](https://octocounts.com/docs/methodology)
- [SLOC and code metrics glossary](https://octocounts.com/docs/glossary)
- [OctoCounts API docs](https://octocounts.com/docs/api)
