Moby

module
v23.0.7+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2023 License: Apache-2.0

README

The Moby Project

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 system, 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, and are not intended for customers who want enterprise or commercial support; Docker EE is the appropriate product for these use cases.


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
types
Package types is used for API stability in the types and response to the consumers of the API stats endpoint.
Package types is used for API stability in the types and response to the consumers of the API stats endpoint.
types/backend
Package backend includes types to send information to server backends.
Package backend includes types to send information to server backends.
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/plugins/logdriver
Package logdriver is a generated protocol buffer package.
Package logdriver is a generated protocol buffer package.
types/swarm/runtime
Package runtime is a generated protocol buffer package.
Package runtime is a generated protocol buffer package.
types/versions/v1p19
Package v1p19 provides specific API types for the API version 1, patch 19.
Package v1p19 provides specific API types for the API version 1, patch 19.
types/versions/v1p20
Package v1p20 provides specific API types for the API version 1, patch 20.
Package v1p20 provides specific API types for the API version 1, patch 20.
Package builder defines interfaces for any Docker builder to implement.
Package builder defines interfaces for any Docker builder to implement.
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
Package remotecontext is a generated protocol buffer package.
Package remotecontext is a generated protocol buffer package.
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/docker-proxy
Package winresources is used to embed Windows resources into docker-proxy.exe.
Package winresources is used to embed Windows resources into docker-proxy.exe.
winresources/dockerd
Package winresources is used to embed Windows resources into dockerd.exe.
Package winresources is used to embed Windows resources into dockerd.exe.
Package client is a Go client for the Docker Engine API.
Package client is a Go client for the Docker Engine API.
cmd
docker-proxy
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.
contrib
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.
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/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/jsonfilelog
Package jsonfilelog provides the default Logger implementation for Docker logging.
Package jsonfilelog provides the default Logger implementation for Docker logging.
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/logentries
Package logentries provides the log driver for forwarding server logs to logentries endpoints.
Package logentries provides the log driver for forwarding server logs to logentries endpoints.
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.
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.
v1
Package integration provides integrations tests for Moby (API).
Package integration provides integrations tests for Moby (API).
integration-cli
checker
Package checker provides helpers for gotest.tools/assert.
Package checker provides helpers for gotest.tools/assert.
cli
internal
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.
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.
Package libnetwork is a generated protocol buffer package.
Package libnetwork is a generated protocol buffer package.
bitseq
Package bitseq provides a structure and utilities for representing long bitmask as sequence of run-length encoded blocks.
Package bitseq provides a structure and utilities for representing long bitmask as sequence of run-length encoded blocks.
drivers/overlay
Package overlay is a generated protocol buffer package.
Package overlay is a generated protocol buffer package.
drivers/overlay/overlayutils
Package overlayutils provides utility functions for overlay networks
Package overlayutils provides utility functions for overlay networks
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/overlay
Package overlay is a generated protocol buffer package.
Package overlay is a generated protocol buffer package.
idm
Package idm manages reservation/release of numerical ids from a configured set of contiguous ids
Package idm manages reservation/release of numerical ids from a configured set of contiguous ids
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/null
Package null implements the null ipam driver.
Package null implements the null ipam driver.
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
ipamutils
Package ipamutils provides utility functions for ipam management
Package ipamutils provides utility functions for ipam management
networkdb
Package networkdb is a generated protocol buffer package.
Package networkdb is a generated protocol buffer package.
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
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
types
Package types contains types that are common across libnetwork project
Package types contains types that are common across libnetwork project
oci
pkg
aaparser
Package aaparser is a convenience package interacting with `apparmor_parser`.
Package aaparser is a convenience package interacting with `apparmor_parser`.
capabilities
Package capabilities allows to generically handle capabilities.
Package capabilities allows to generically handle capabilities.
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.
plugins
Package plugins provides structures and helper functions to manage Docker plugins.
Package plugins provides structures and helper functions to manage Docker plugins.
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.
signal
Package signal provides helper functions for dealing with signals across various operating systems.
Package signal provides helper functions for dealing with signals across various operating systems.
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
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.
truncindex
Package truncindex provides a general 'index tree', used by Docker in order to be able to reference containers by only a few unambiguous characters of their id.
Package truncindex provides a general 'index tree', used by Docker in order to be able to reference containers by only a few unambiguous characters of their id.
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.
v2
profiles
Package registry contains client primitives to interact with a remote Docker registry.
Package registry contains client primitives to interact with a remote Docker registry.
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.
local
Package local provides the default implementation for volumes.
Package local provides the default implementation for volumes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL