Open-Source Wikis

/

Moby

/

Reference

/

Dependencies

moby/moby

Dependencies

The daemon's go.mod pulls in 100+ modules. The list below highlights the ones with the most architectural weight — what they are and what code in the repo touches them.

Container runtime

Module Used by
github.com/containerd/containerd/v2 The containerd Go client. See Container runtime.
github.com/containerd/containerd/api Containerd protobuf API.
github.com/containerd/cgroups/v3 Cgroup v1/v2 abstractions.
github.com/containerd/continuity Filesystem checksums and tar helpers.
github.com/containerd/errdefs Standard error predicates.
github.com/containerd/log Structured logging facade.
github.com/containerd/nri Node Resource Interface.
github.com/containerd/platforms OCI platform string parser/matcher.
github.com/containerd/typeurl/v2 Protobuf type-URL helpers used in NRI/runtime.
github.com/containerd/fifo UNIX FIFOs (used for stdio).

OCI runtimes

The daemon doesn't import runc directly; it talks to it via containerd. But several Moby-org submodules surface OCI primitives:

Module Role
github.com/moby/sys/{mount,mountinfo,signal,user,userns,reexec,sequential,symlink,atomicwriter} Low-level OS helpers.
github.com/moby/profiles/seccomp Default seccomp profile generator.
github.com/moby/profiles/apparmor Default AppArmor profile.
github.com/moby/policy-helpers Image policy helpers used by Daemon.
github.com/moby/term Terminal mode plumbing for attach/exec.

Networking

Module Role
github.com/hashicorp/memberlist Gossip layer for networkdb.
github.com/hashicorp/serf Higher-level cluster events on top of memberlist.
github.com/hashicorp/go-memdb In-memory radix-tree DB used by containersReplica.
github.com/hashicorp/go-immutable-radix/v2 Immutable radix tree (memdb's underlying structure).
github.com/miekg/dns The embedded DNS resolver in libnetwork.
github.com/moby/ipvs IPVS netlink helpers used by overlay/swarm.
github.com/ishidawataru/sctp SCTP socket support in docker-proxy.
github.com/godbus/dbus/v5 dbus client for firewalld/networkd interaction.

Build & image

Module Role
github.com/moby/buildkit The BuildKit library. See Builder.
github.com/moby/docker-image-spec Image config spec types.
github.com/moby/go-archive Tar archive helpers used by builder/distribution.
github.com/distribution/reference OCI reference parsing.
github.com/docker/distribution Legacy registry client (used by Distribution).
github.com/docker/go-connections TLS, NAT, sockets helpers.
github.com/docker/go-units Human-readable size/duration parsing.
github.com/docker/go-events Event channels with backoff.

Swarm

Module Role
github.com/moby/swarmkit/v2 The orchestrator and agent libraries.

Logging plugins

fluentd, gcp logging, aws cloudwatchlogs, Graylog gelf, RackSec/srslog, Microsoft go-winio — each pulled in for one log driver.

HTTP & RPC

Module Role
github.com/gorilla/mux Server-side routing in daemon/server.
google.golang.org/grpc gRPC for containerd/NRI/BuildKit/swarmkit.
go.opentelemetry.io/contrib/instrumentation/... OTel HTTP/gRPC instrumentation.
go.etcd.io/bbolt Embedded KV store used by libnetwork's datastore.

Other notable

Module Role
github.com/cloudflare/cfssl Internal CA helpers (used by SwarmKit and tests).
github.com/cpuguy83/tar2go In-memory tar -> Go file system bridge.
github.com/Microsoft/hcsshim Windows Host Compute Service shim.
github.com/google/uuid UUID generation.
dario.cat/mergo Recursive struct merging (config reload).
golang.org/x/sync/{semaphore,errgroup,singleflight} Concurrency primitives (and resenje.org/singleflight).
gotest.tools/v3 Test assertions and fixtures.

Vendoring

Everything is vendored under vendor/. make validate-vendor ensures consistency; make vendor refreshes. The go.mod is the canonical list — see it for exact versions.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Dependencies – Moby wiki | Factory