Codebase

Navigate the Codebase using the tree view. Use the filters to highlight where various files are grouped to aid understanding.

Getting Started Commands

Project Structure

Below is a short description of the key directories of the project to aid you when understanding where key files are located.

.github/ - This directory contains GitHub-specific configuration files, including workflows for continuous integration and release processes.
.github/workflows/ - This directory contains YAML files defining the workflows for GitHub Actions.
.github/workflows/ci.yml and .github/workflows/release.yml - These files define the GitHub Actions workflows for continuous integration and release processes, respectively.
docker/ - This is the main directory for the Docker Python library.
docker/__init__.py - This file initializes the Docker Python library.
docker/api/ - This directory contains the implementation of the Docker Python API.
docker/api/__init__.py - This file initializes the Docker Python API module.
docker/api/build.py - This file provides methods for building Docker images using the Docker Python API.
docker/api/client.py - This file provides the main Docker client class for interacting with the Docker daemon using the Docker Python API.
docker/api/config.py - This file provides methods for managing Docker configuration using the Docker Python API.
docker/api/container.py - This file provides methods for managing Docker containers using the Docker Python API.
docker/api/daemon.py - This file provides methods for interacting with the Docker daemon using the Docker Python API.
docker/api/exec_api.py - This file provides methods for executing commands in running containers using the Docker Python API.
docker/api/image.py - This file provides methods for managing Docker images using the Docker Python API.
docker/api/network.py - This file provides methods for managing Docker networks using the Docker Python API.
docker/api/plugin.py - This file provides methods for managing Docker plugins using the Docker Python API.
docker/api/secret.py - This file provides methods for managing Docker secrets using the Docker Python API.
docker/api/service.py - This file provides methods for managing Docker services using the Docker Python API.
docker/api/swarm.py - This file provides methods for managing Docker Swarm using the Docker Python API.
docker/api/volume.py - This file provides methods for managing Docker volumes using the Docker Python API.
docker/auth.py - This file provides methods for managing Docker authentication using the Docker Python API.
docker/client.py - This file provides the main Docker client class for interacting with the Docker daemon using the Docker Python API.
docker/context/ - This directory contains context management functionality for the Docker Python API.
docker/context/__init__.py - This file initializes the Docker context module.
docker/context/api.py - This file provides methods for managing Docker contexts using the Docker Python API.
docker/context/config.py - This file provides methods for managing Docker context configuration using the Docker Python API.
docker/context/context.py - This file provides the Docker context class for interacting with specific Docker environments using the Docker Python API.
docker/credentials/ - This directory contains functionality for managing Docker credentials using the Docker Python API.
docker/credentials/__init__.py - This file initializes the Docker credentials module.
docker/credentials/constants.py - This file defines constants used by the Docker credentials module.
docker/credentials/errors.py - This file defines error classes used by the Docker credentials module.
docker/credentials/store.py - This file provides methods for storing and retrieving Docker credentials using the Docker Python API.
docker/credentials/utils.py - This file contains utility functions for the Docker credentials module.
docker/models/ - This directory contains classes representing various Docker objects used by the Docker Python API.
docker/models/__init__.py - This file initializes the Docker models module.
docker/models/configs.py - This file defines the Config class representing Docker configuration objects.
docker/models/containers.py - This file defines the Container class representing running Docker containers.
docker/models/images.py - This file defines the Image class representing Docker images.
docker/models/networks.py - This file defines the Network class representing Docker networks.
docker/models/nodes.py - This file defines the Node class representing Docker nodes.
docker/models/plugins.py - This file defines the Plugin class representing Docker plugins.
docker/models/resource.py - This file defines the Resource class representing Docker resources.
docker/models/secrets.py - This file defines the Secret class representing Docker secrets.
docker/models/services.py - This file defines the Service class representing Docker services.
docker/models/swarm.py - This file defines the Swarm class representing Docker Swarm.
docker/models/volumes.py - This file defines the Volume class representing Docker volumes.
docker/transport/ - This directory contains transport functionality for the Docker Python API.
docker/transport/__init__.py - This file initializes the Docker transport module.
docker/transport/basehttpadapter.py - This file defines the base HTTP adapter for making requests using the Docker Python API.
docker/transport/npipeconn.py - This file defines the named pipe connection class for making requests using the Docker Python API on Windows.
docker/transport/npipesocket.py - This file defines the named pipe socket class for making requests using the Docker Python API on Windows.
docker/transport/sshconn.py - This file defines the SSH connection class for making requests using the Docker Python API over SSH.
docker/transport/unixconn.py - This file defines the Unix domain socket connection class for making requests using the Docker Python API on Unix systems.
docker/types/ - This directory contains type definitions used by the Docker Python API.
docker/types/__init__.py - This file initializes the Docker types module.
docker/types/base.py - This file defines the base type for Docker objects.
docker/types/containers.py - This file defines the Container object type.
docker/types/daemon.py - This file defines the Daemon object type.
docker/types/healthcheck.py - This file defines the Healthcheck object type.
docker/types/networks.py - This file defines the Network object type.
docker/types/services.py - This file defines the Service object type.
docker/types/swarm.py - This file defines the Swarm object type.
docker/types/volumes.py - This file defines the Volume object type.
docker/utils/ - This directory contains utility functions for the Docker Python API.
docker/utils/__init__.py - This file initializes the Docker utils module.
docker/utils/build.py - This file contains utility functions for building Docker images using the Docker Python API.
docker/utils/config.py - This file contains utility functions for managing Docker configuration using the Docker Python API.
docker/utils/decorators.py - This file contains decorators used by the Docker Python API.
docker/utils/fnmatch.py - This file contains functionality for pattern matching file names using the fnmatch library.
docker/utils/json_stream.py - This file contains functionality for reading and writing JSON data as streams.
docker/utils/ports.py - This file contains utility functions for working with container ports using the Docker Python API.
docker/utils/proxy.py - This file contains utility functions for working with proxies using the Docker Python API.
docker/utils/socket.py - This file contains utility functions for working with sockets using the Docker Python API.
docker/utils/utils.py - This file contains various utility functions for the Docker Python API.

Entrypoints

Below are files we identified as entrypoints for to the codebase. This is where the application starts and a good place to start when learning.

scripts/versions.py - This script provides functions to get and print Docker versions and build information. The 'main' function is the entrypoint for executing the script from the command line to display Docker version details.