Understand the FluentDocker v3.0 Architecture
masterFluentDocker v3.0 uses a layered, pluggable driver architecture. This design allows for multiple container runtime implementations (like Docker CLI, Docker API, or Podman CLI) to coexist.
The architecture consists of three layers:
- Fluent API (Builders): The high-level interface used to define deployments. Builders bind to a specific
FluentDockerKernelinstance. - Services (Domain Objects): Objects that represent containers, networks, or volumes, which reference a specific kernel instance.
- FluentDocker Kernel: The central orchestrator that manages the
DriverRegistry,DriverSelector, andDriverRouter. It is instantiable, meaning you can have multiple independent kernels (e.g., one for local Docker and one for remote Docker) running in the same application. - Driver Layer: The actual implementation of the container runtime (e.g.,
dc-1using Docker CLI,podman-1using Podman CLI).