GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Why Go
  • Case Studies
  • Use Cases
  • Security
  • Learn
  • Effective Go
  • Go User Manual
  • Standard library
  • Release Notes
  • API
  • Packages
  • Recorded Talks
  • Meetups
  • Conferences

This view

  • Original page
  • New address

GeezerVison is showing pkg.go.dev — docker module - github.com/docker/docker - Go Packages

Alert  Affected by GO-2026-4883 and 1 other vulnerabilities
Alert  GO-2026-4883: Moby has an Off-by-one error in its plugin privilege validation in github.com/docker/docker
Alert  GO-2026-4887: Moby has AuthZ plugin bypass when provided oversized request bodies in github.com/docker/docker

Details

  • unchecked Valid go.mod file

    The Go module system was introduced in Go 1.11 and is the official dependency management solution for Go.

  • checked Redistributable license

    Redistributable licenses place minimal restrictions on how software can be used, modified, and redistributed.

  • checked Tagged version

    Modules with tagged versions give importers more predictable builds.

  • checked Stable version

    When a project reaches major version v1 it is considered stable.

  • Learn more about best practices

Repository

github.com/docker/docker

Links

  • Open Source Insights Logo Open Source Insights

README ¶

The Moby Project

PkgGoDev Go Report Card OpenSSF Scorecard

Moby Project logo

Moby is an open-source project created by Docker to enable and accelerate software containerization.

It provides a "Lego set" of toolkit components, the framework for assembling them into custom container-based systems, and a place for all container enthusiasts and professionals to experiment and exchange ideas. Components include container build tools, a container registry, orchestration tools, a runtime and more, and these can be used as building blocks in conjunction with other tools and projects.

Principles

Moby is an open project guided by strong principles, aiming to be modular, flexible and without too strong an opinion on user experience. It is open to the community to help set its direction.

  • Modular: the project includes lots of components that have well-defined functions and APIs that work together.
  • Batteries included but swappable: Moby includes enough components to build fully featured container systems, but its modular architecture ensures that most of the components can be swapped by different implementations.
  • Usable security: Moby provides secure defaults without compromising usability.
  • Developer focused: The APIs are intended to be functional and useful to build powerful tools. They are not necessarily intended as end user tools but as components aimed at developers. Documentation and UX is aimed at developers not end users.

Audience

The Moby Project is intended for engineers, integrators and enthusiasts looking to modify, hack, fix, experiment, invent and build systems based on containers. It is not for people looking for a commercially supported system, but for people who want to work and learn with open source code.

Relationship with Docker

The components and tools in the Moby Project are initially the open source components that Docker and the community have built for the Docker Project. New projects can be added if they fit with the community goals. Docker is committed to using Moby as the upstream for the Docker Product. However, other projects are also encouraged to use Moby as an upstream, and to reuse the components in diverse ways, and all these uses will be treated in the same way. External maintainers and contributors are welcomed.

The Moby project is not intended as a location for support or feature requests for Docker products, but as a place for contributors to work on open source code, fix bugs, and make the code more useful. The releases are supported by the maintainers, community and users, on a best efforts basis only. For customers who want enterprise or commercial support, Docker Desktop and Mirantis Container Runtime are the appropriate products for these use cases.


Legal

Brought to you courtesy of our legal counsel. For more context, please see the NOTICE document in this repo.

Use and transfer of Moby may be subject to certain restrictions by the United States and other governments.

It is your responsibility to ensure that your use and/or transfer does not violate applicable laws.

For more information, please see https://www.bis.doc.gov

Licensing

Moby is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Directories ¶

Path Synopsis
api
server
server/backend/build
server/httpstatus
server/httputils
server/middleware
server/router
server/router/build
server/router/checkpoint
server/router/container
server/router/debug
server/router/distribution
server/router/grpc
server/router/image
server/router/network
server/router/plugin
server/router/session
server/router/swarm
server/router/system
server/router/volume
types
types/auxprogress
types/backend
Package backend includes types to send information to server backends.
Package backend includes types to send information to server backends.
types/blkiodev
types/build
types/checkpoint
types/common
types/container
types/events
types/filters
Package filters provides tools for encoding a mapping of keys to a set of multiple values.
Package filters provides tools for encoding a mapping of keys to a set of multiple values.
types/image
types/mount
types/network
types/plugins/logdriver
types/registry
types/storage
types/strslice
types/swarm
types/swarm/runtime
types/system
types/time
types/versions
types/volume
builder
Package builder defines interfaces for any Docker builder to implement.
Package builder defines interfaces for any Docker builder to implement.
builder-next
builder-next/adapters/containerimage
builder-next/adapters/localinlinecache
builder-next/adapters/snapshot
builder-next/exporter
builder-next/exporter/mobyexporter
builder-next/exporter/overrides
builder-next/imagerefchecker
builder-next/worker
builder-next/worker/label
dockerfile
Package dockerfile is the evaluation step in the Dockerfile parse/evaluate pipeline.
Package dockerfile is the evaluation step in the Dockerfile parse/evaluate pipeline.
remotecontext
remotecontext/git
remotecontext/urlutil
Package urlutil provides helper function to check if a given build-context location should be considered a URL or a remote Git repository.
Package urlutil provides helper function to check if a given build-context location should be considered a URL or a remote Git repository.
cli
winresources/dockerd
Package winresources is used to embed Windows resources into dockerd.exe.
Package winresources is used to embed Windows resources into dockerd.exe.
client
Package client is a Go client for the Docker Engine API.
Package client is a Go client for the Docker Engine API.
buildkit
cmd
docker-proxy command
docker-proxy provides a network Proxy interface and implementations for TCP and UDP.
docker-proxy provides a network Proxy interface and implementations for TCP and UDP.
dockerd command
dockerd/debug
dockerd/trap
dockerd/trap/testfiles command
container
stream
stream/bytespipe
contrib
apparmor command
httpserver command
daemon
Package daemon exposes the functions that occur on the host server that the Docker daemon is running.
Package daemon exposes the functions that occur on the host server that the Docker daemon is running.
cluster
cluster/controllers/plugin
cluster/convert
cluster/executor
cluster/executor/container
cluster/internal/runtime
cluster/provider
config
containerd
events
events/testutils
graphdriver
graphdriver/btrfs
graphdriver/copy
graphdriver/fuse-overlayfs
graphdriver/graphtest
graphdriver/overlay2
graphdriver/overlayutils
graphdriver/register
graphdriver/vfs
graphdriver/windows
graphdriver/zfs
images
initlayer
internal/capabilities
Package capabilities allows to generically handle capabilities.
Package capabilities allows to generically handle capabilities.
internal/filedescriptors
internal/fstype
internal/mountref
links
listeners
logger
Package logger defines interfaces that logger drivers implement to log messages.
Package logger defines interfaces that logger drivers implement to log messages.
logger/awslogs
Package awslogs provides the logdriver for forwarding container logs to Amazon CloudWatch Logs
Package awslogs provides the logdriver for forwarding container logs to Amazon CloudWatch Logs
logger/etwlogs
Package etwlogs provides a log driver for forwarding container logs as ETW events.(ETW stands for Event Tracing for Windows) A client can then create an ETW listener to listen for events that are sent by the ETW provider that we register, using the provider's GUID "a3693192-9ed6-46d2-a981-f8226c8363bd".
Package etwlogs provides a log driver for forwarding container logs as ETW events.(ETW stands for Event Tracing for Windows) A client can then create an ETW listener to listen for events that are sent by the ETW provider that we register, using the provider's GUID "a3693192-9ed6-46d2-a981-f8226c8363bd".
logger/fluentd
Package fluentd provides the log driver for forwarding server logs to fluentd endpoints.
Package fluentd provides the log driver for forwarding server logs to fluentd endpoints.
logger/gcplogs
logger/gelf
Package gelf provides the log driver for forwarding server logs to endpoints that support the Graylog Extended Log Format.
Package gelf provides the log driver for forwarding server logs to endpoints that support the Graylog Extended Log Format.
logger/journald
Package journald provides the log driver for forwarding server logs to endpoints that receive the systemd format.
Package journald provides the log driver for forwarding server logs to endpoints that receive the systemd format.
logger/journald/internal/export
Package export implements a serializer for the systemd Journal Export Format as documented at https://systemd.io/JOURNAL_EXPORT_FORMATS/
Package export implements a serializer for the systemd Journal Export Format as documented at https://systemd.io/JOURNAL_EXPORT_FORMATS/
logger/journald/internal/fake
Package fake implements a journal writer for testing which is decoupled from the system's journald.
Package fake implements a journal writer for testing which is decoupled from the system's journald.
logger/journald/internal/sdjournal
Package sdjournal provides a Go interface to the systemd journal read API by wrapping the libsystemd C library.
Package sdjournal provides a Go interface to the systemd journal read API by wrapping the libsystemd C library.
logger/jsonfilelog
Package jsonfilelog provides the default Logger implementation for Docker logging.
Package jsonfilelog provides the default Logger implementation for Docker logging.
logger/jsonfilelog/jsonlog
logger/local
Package local provides a logger implementation that stores logs on disk.
Package local provides a logger implementation that stores logs on disk.
logger/loggertest
logger/loggerutils
logger/loggerutils/cache
logger/splunk
Package splunk provides the log driver for forwarding server logs to Splunk HTTP Event Collector endpoint.
Package splunk provides the log driver for forwarding server logs to Splunk HTTP Event Collector endpoint.
logger/syslog
Package syslog provides the logdriver for forwarding server logs to syslog endpoints.
Package syslog provides the logdriver for forwarding server logs to syslog endpoints.
logger/templates
names
network
snapshotter
stats
distribution
metadata
utils
xfer
dockerversion
errdefs
Package errdefs defines a set of error interfaces that packages should use for communicating classes of errors.
Package errdefs defines a set of error interfaces that packages should use for communicating classes of errors.
hack
cpexp command
image
cache
tarexport
v1
integration
Package integration provides integrations tests for Moby (API).
Package integration provides integrations tests for Moby (API).
internal/build
internal/container
internal/network
internal/process
internal/requirement
internal/swarm
internal/system
internal/termtest
network
plugin/logging/cmd/close_on_start command
plugin/logging/cmd/discard command
plugin/logging/cmd/dummy command
plugin/volumes/cmd/dummy command
integration-cli
checker
Package checker provides helpers for gotest.tools/assert.
Package checker provides helpers for gotest.tools/assert.
cli
cli/build
daemon
environment
requirement
internal
cleanups
containerfs
directory
gocompat command
ioutils
lazyregexp
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
Package lazyregexp is a thin wrapper over regexp, allowing the use of global regexp variables without forcing them to be compiled at init.
maputil
metrics
mod
modprobe
Package modprobe attempts to load kernel modules.
Package modprobe attempts to load kernel modules.
mounttree
multierror
nlwrap
Package nlwrap wraps vishvandanda/netlink functions that may return EINTR.
Package nlwrap wraps vishvandanda/netlink functions that may return EINTR.
opts
otelutil
platform
rootless/mountopts
rootless/specconv
safepath
sliceutil
test/suite
Package suite is a simplified version of testify's suite package which has unnecessary dependencies.
Package suite is a simplified version of testify's suite package which has unnecessary dependencies.
testutils
testutils/labelstore
testutils/netnsutils
testutils/networking
testutils/specialimage
testutils/storeutils
unix_noeintr
Package unix_noeintr provides wrappers for unix syscalls that retry on EINTR.
Package unix_noeintr provides wrappers for unix syscalls that retry on EINTR.
unshare
usergroup
layer
Package layer is package for managing read-only and read-write mounts on the union file system driver.
Package layer is package for managing read-only and read-write mounts on the union file system driver.
libcontainerd
local
queue
remote
shimopts
supervisor
types
libnetwork
Package libnetwork provides the basic functionality and extension points to create network namespaces and allocate interfaces for containers to use.
Package libnetwork provides the basic functionality and extension points to create network namespaces and allocate interfaces for containers to use.
bitmap
Package bitmap provides a datatype for long vectors of bits.
Package bitmap provides a datatype for long vectors of bits.
cluster
cmd/diagnostic command
cmd/networkdb-test command
cmd/networkdb-test/dbclient
cmd/networkdb-test/dbserver
cmd/networkdb-test/dummyclient
cnmallocator
config
datastore
diagnostic
discoverapi
driverapi
drivers/bridge
drivers/bridge/brmanager
drivers/bridge/internal/firewaller
Package firewaller defines an interface that can be used to manipulate firewall configuration for a bridge network.
Package firewaller defines an interface that can be used to manipulate firewall configuration for a bridge network.
drivers/bridge/internal/iptabler
drivers/bridge/internal/rlkclient
drivers/host
drivers/ipvlan
drivers/ipvlan/ivmanager
drivers/macvlan
drivers/macvlan/mvmanager
drivers/null
drivers/overlay
drivers/overlay/overlayutils
Package overlayutils provides utility functions for overlay networks
Package overlayutils provides utility functions for overlay networks
drivers/overlay/ovmanager
drivers/remote
drivers/remote/api
Package api represents all requests and responses suitable for conversation with a remote driver.
Package api represents all requests and responses suitable for conversation with a remote driver.
drivers/windows
drivers/windows/overlay
Package overlay is a generated protocol buffer package.
Package overlay is a generated protocol buffer package.
drvregistry
etchosts
internal/addrset
Package addrset implements a set of IP addresses.
Package addrset implements a set of IP addresses.
internal/caller
internal/kvstore
internal/kvstore/boltdb
internal/l2disco
internal/netiputil
internal/nftables
Package nftables provides methods to create an nftables table and manage its maps, sets, chains, and rules.
Package nftables provides methods to create an nftables table and manage its maps, sets, chains, and rules.
internal/resolvconf
Package resolvconf is used to generate a container's /etc/resolv.conf file.
Package resolvconf is used to generate a container's /etc/resolv.conf file.
internal/setmatrix
ipamapi
Package ipamapi specifies the contract the IPAM service (built-in or remote) needs to satisfy.
Package ipamapi specifies the contract the IPAM service (built-in or remote) needs to satisfy.
ipams
ipams/defaultipam
ipams/null
Package null implements the null ipam driver.
Package null implements the null ipam driver.
ipams/remote
ipams/remote/api
Package api defines the data structure to be used in the request/response messages between libnetwork and the remote ipam plugin
Package api defines the data structure to be used in the request/response messages between libnetwork and the remote ipam plugin
ipams/windowsipam
ipamutils
Package ipamutils provides utility functions for ipam management
Package ipamutils provides utility functions for ipam management
ipbits
Package ipbits contains utilities for manipulating netip.Addr values as numbers or bitfields.
Package ipbits contains utilities for manipulating netip.Addr values as numbers or bitfields.
iptables
netlabel
netutils
Package netutils provides network utility functions.
Package netutils provides network utility functions.
networkdb
ns
options
Package options provides a way to pass unstructured sets of options to a component expecting a strongly-typed configuration structure.
Package options provides a way to pass unstructured sets of options to a component expecting a strongly-typed configuration structure.
osl
Package osl describes structures and interfaces which abstract os entities
Package osl describes structures and interfaces which abstract os entities
osl/kernel
portallocator
portmapper
resolvconf
Package resolvconf provides utility code to query and update DNS configuration in /etc/resolv.conf
Package resolvconf provides utility code to query and update DNS configuration in /etc/resolv.conf
scope
types
Package types contains types that are common across libnetwork project
Package types contains types that are common across libnetwork project
oci
caps
opts
pkg
archive
Package archive provides helper functions for dealing with archive files.
Package archive provides helper functions for dealing with archive files.
atomicwriter
authorization
chrootarchive
fileutils
homedir
idtools
ioutils
jsonmessage
longpath
Package longpath introduces some constants and helper functions for handling long paths in Windows.
Package longpath introduces some constants and helper functions for handling long paths in Windows.
meminfo
Package meminfo provides utilities to retrieve memory statistics of the host system.
Package meminfo provides utilities to retrieve memory statistics of the host system.
namesgenerator
Package namesgenerator generates random names.
Package namesgenerator generates random names.
parsers
Package parsers provides helper functions to parse and validate different type of string.
Package parsers provides helper functions to parse and validate different type of string.
parsers/kernel
Package kernel provides helper function to get, parse and compare kernel versions for different platforms.
Package kernel provides helper function to get, parse and compare kernel versions for different platforms.
parsers/operatingsystem
Package operatingsystem provides helper function to get the operating system name for different platforms.
Package operatingsystem provides helper function to get the operating system name for different platforms.
pidfile
Package pidfile provides structure and helper functions to create and remove PID file.
Package pidfile provides structure and helper functions to create and remove PID file.
platform
Package platform provides helper function to get the runtime architecture for different platforms.
Package platform provides helper function to get the runtime architecture for different platforms.
plugingetter
plugins
Package plugins provides structures and helper functions to manage Docker plugins.
Package plugins provides structures and helper functions to manage Docker plugins.
plugins/pluginrpc-gen command
plugins/pluginrpc-gen/fixtures
plugins/pluginrpc-gen/fixtures/otherfixture
plugins/transport
pools
Package pools provides a collection of pools which provide various data types with buffers.
Package pools provides a collection of pools which provide various data types with buffers.
process
Package process provides a set of basic functions to manage individual processes.
Package process provides a set of basic functions to manage individual processes.
progress
reexec
Package reexec facilitates the busybox style reexec of a binary.
Package reexec facilitates the busybox style reexec of a binary.
rootless
stack
stdcopy
streamformatter
Package streamformatter provides helper functions to format a stream.
Package streamformatter provides helper functions to format a stream.
stringid
Package stringid provides helper functions for dealing with string identifiers
Package stringid provides helper functions for dealing with string identifiers
sysinfo
Package sysinfo stores information about which features a kernel supports.
Package sysinfo stores information about which features a kernel supports.
system
tailfile
Package tailfile provides helper functions to read the nth lines of any ReadSeeker.
Package tailfile provides helper functions to read the nth lines of any ReadSeeker.
tarsum
Package tarsum provides algorithms to perform checksum calculation on filesystem layers.
Package tarsum provides algorithms to perform checksum calculation on filesystem layers.
useragent
Package useragent provides helper functions to pack version information into a single User-Agent header.
Package useragent provides helper functions to pack version information into a single User-Agent header.
plugin
executor/containerd
v2
profiles
apparmor
seccomp
quota
reference
registry
Package registry contains client primitives to interact with a remote Docker registry.
Package registry contains client primitives to interact with a remote Docker registry.
resumable
restartmanager
runconfig
testutil
Package testutil contains common testing tasks like running dockerd.
Package testutil contains common testing tasks like running dockerd.
daemon
Package daemon launches dockerd for testing purposes.
Package daemon launches dockerd for testing purposes.
environment
fakecontext
fakegit
fakestorage
fixtures/load
fixtures/plugin
fixtures/plugin/basic command
registry
request
volume
drivers
local
Package local provides the default implementation for volumes.
Package local provides the default implementation for volumes.
mounts
service
service/opts
testutils
Click to show internal directories.
Click to hide internal directories.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.