graph LR
High_Level_Client["High-Level Client"]
Low_Level_API_Client["Low-Level API Client"]
Docker_Resource_Management["Docker Resource Management"]
Daemon_Exec_Operations["Daemon & Exec Operations"]
Build_System["Build System"]
Authentication_Configuration["Authentication & Configuration"]
Transport_Layer["Transport Layer"]
Error_Handling["Error Handling"]
Data_Models_Utilities["Data Models & Utilities"]
High_Level_Client -- "uses" --> Low_Level_API_Client
High_Level_Client -- "manages" --> Docker_Resource_Management
High_Level_Client -- "accesses" --> Daemon_Exec_Operations
Low_Level_API_Client -- "uses for communication" --> Transport_Layer
Low_Level_API_Client -- "uses for authentication/config" --> Authentication_Configuration
Low_Level_API_Client -- "raises" --> Error_Handling
Low_Level_API_Client -- "uses" --> Data_Models_Utilities
Docker_Resource_Management -- "makes API calls to" --> Low_Level_API_Client
Docker_Resource_Management -- "uses" --> Data_Models_Utilities
Docker_Resource_Management -- "raises" --> Error_Handling
Docker_Resource_Management -- "uses for pull/push" --> Authentication_Configuration
Daemon_Exec_Operations -- "makes API calls to" --> Low_Level_API_Client
Daemon_Exec_Operations -- "uses" --> Data_Models_Utilities
Daemon_Exec_Operations -- "raises" --> Error_Handling
Daemon_Exec_Operations -- "uses for login" --> Authentication_Configuration
Build_System -- "makes API calls to" --> Low_Level_API_Client
Build_System -- "raises" --> Error_Handling
Build_System -- "uses" --> Data_Models_Utilities
Build_System -- "uses for auth headers" --> Authentication_Configuration
Authentication_Configuration -- "uses config from" --> Data_Models_Utilities
Authentication_Configuration -- "raises" --> Error_Handling
Transport_Layer -- "raises" --> Error_Handling
Data_Models_Utilities -- "raises" --> Error_Handling
click High_Level_Client href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/High-Level Client.md" "Details"
click Low_Level_API_Client href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Low-Level API Client.md" "Details"
click Docker_Resource_Management href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Docker Resource Management.md" "Details"
click Daemon_Exec_Operations href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Daemon & Exec Operations.md" "Details"
click Build_System href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Build System.md" "Details"
click Authentication_Configuration href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Authentication & Configuration.md" "Details"
click Transport_Layer href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Transport Layer.md" "Details"
click Error_Handling href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Error Handling.md" "Details"
click Data_Models_Utilities href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/docker-py/Data Models & Utilities.md" "Details"
The docker-py library provides a comprehensive Python interface for interacting with the Docker daemon. It is structured into a high-level client for ease of use and a low-level API client for direct communication. The system manages various Docker resources like containers, images, networks, and volumes, and handles advanced features such as Swarm, services, plugins, secrets, and configurations. It includes robust mechanisms for authentication, credential management, Docker context handling, and image building. Underlying these functionalities are a flexible transport layer supporting different communication protocols and a dedicated error handling system, all supported by a rich set of data models and utility functions.
Provides a user-friendly, object-oriented interface for interacting with the Docker daemon, abstracting the underlying API. It serves as the primary entry point for most user operations.
Related Classes/Methods:
docker-py.docker.client.DockerClient(16:219)docker-py.docker.client.DockerClient:__init__(44:45)docker-py.docker.client.DockerClient:from_env(48:100)
Handles direct HTTP communication with the Docker daemon, managing requests, responses, and error handling. It serves as the core communication layer and integrates various API mixins.
Related Classes/Methods:
docker-py.docker.api.client.APIClient(57:532)docker-py.docker.api.client.APIClient:__init__(115:219)docker-py.docker.api.client.APIClient:_post(241:242)
Encompasses the API mixins and object models for managing the lifecycle and operations of various Docker resources like containers, images, networks, volumes, swarm, services, plugins, secrets, and configurations.
Related Classes/Methods:
docker-py.docker.api.container.ContainerApiMixin(14:1348)docker-py.docker.models.containers.ContainerCollection(532:1029)docker-py.docker.api.image.ImageApiMixin(10:572)docker-py.docker.models.images.ImageCollection(217:495)docker-py.docker.api.network.NetworkApiMixin(6:277)docker-py.docker.models.networks.NetworkCollection(94:218)docker-py.docker.api.volume.VolumeApiMixin(4:163)docker-py.docker.models.volumes.VolumeCollection(28:99)docker-py.docker.api.swarm.SwarmApiMixin(10:462)docker-py.docker.models.swarm.Swarm(7:190)docker-py.docker.api.service.ServiceApiMixin(114:486)docker-py.docker.models.services.ServiceCollection(146:284)docker-py.docker.api.plugin.PluginApiMixin(4:261)docker-py.docker.models.plugins.PluginCollection(131:206)docker-py.docker.api.secret.SecretApiMixin(6:98)docker-py.docker.models.secrets.SecretCollection(27:70)docker-py.docker.api.config.ConfigApiMixin(6:92)docker-py.docker.models.configs.ConfigCollection(27:70)
Provides functionalities for general Docker daemon operations (e.g., info, events, login) and executing commands within running containers.
Related Classes/Methods:
docker-py.docker.api.daemon.DaemonApiMixin(7:181)docker-py.docker.api.daemon.DaemonApiMixin:info(83:95)docker-py.docker.api.exec_api.ExecApiMixin(5:176)docker-py.docker.api.exec_api.ExecApiMixin:exec_create(7:78)
Manages the process of building Docker images from Dockerfiles, including context archiving, file exclusion, and authentication for base image pulls.
Related Classes/Methods:
docker-py.docker.api.build.BuildApiMixin(11:352)docker-py.docker.api.build.BuildApiMixin:build(12:275)docker-py.docker.utils.build.create_archive(70:120)
Manages Docker registry authentication, credential storage, Docker context profiles (connection settings), and general configuration file loading and parsing.
Related Classes/Methods:
docker-py.docker.auth.AuthConfig(75:306)docker-py.docker.auth.AuthConfig:load_config(144:189)docker-py.docker.credentials.store.Store(11:93)docker-py.docker.context.context.Context(16:249)docker-py.docker.context.api.ContextAPI(15:206)docker-py.docker.utils.config:load_general_config(51:66)
Handles low-level communication protocols for connecting to the Docker daemon, supporting Npipe, Unix sockets, and SSH. It manages HTTP connection pooling and socket operations.
Related Classes/Methods:
docker-py.docker.transport.npipesocket.NpipeSocket(29:203)docker-py.docker.transport.unixconn.UnixHTTPAdapter(45:86)docker-py.docker.transport.sshconn.SSHHTTPAdapter(159:250)
Defines and manages custom exceptions specific to Docker operations, providing a structured way to report and handle various error conditions encountered during API interactions or client-side processing.
Related Classes/Methods:
Provides structured data models for various Docker API objects and configurations, along with a collection of general-purpose helper functions for data parsing, environment variable handling, version comparisons, and stream processing.
Related Classes/Methods: