Sylin.Koan.Orchestration.Connector.Docker 0.17.0

dotnet add package Sylin.Koan.Orchestration.Connector.Docker --version 0.17.0
                    
NuGet\Install-Package Sylin.Koan.Orchestration.Connector.Docker -Version 0.17.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sylin.Koan.Orchestration.Connector.Docker" Version="0.17.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sylin.Koan.Orchestration.Connector.Docker" Version="0.17.0" />
                    
Directory.Packages.props
<PackageReference Include="Sylin.Koan.Orchestration.Connector.Docker" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sylin.Koan.Orchestration.Connector.Docker --version 0.17.0
                    
#r "nuget: Sylin.Koan.Orchestration.Connector.Docker, 0.17.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sylin.Koan.Orchestration.Connector.Docker@0.17.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sylin.Koan.Orchestration.Connector.Docker&version=0.17.0
                    
Install as a Cake Addin
#tool nuget:?package=Sylin.Koan.Orchestration.Connector.Docker&version=0.17.0
                    
Install as a Cake Tool

Koan.Orchestration.Connector.Docker

✅ Validated against availability probes, compose lifecycle orchestration, and port parsing on 2025-09-29. See TECHNICAL.md for full flows, component map, and edge-case coverage.

Docker implementation of IHostingProvider, used by the Koan CLI and orchestration tooling to manage Compose-based environments.

Capabilities

  • Detect Docker availability (docker version --format '{{.Server.Version}}').
  • Start stacks with docker compose up, waiting for all services to reach a healthy state within the configured timeout.
  • Stop and optionally prune volumes via docker compose down.
  • Stream logs, capture service status, and enumerate live port bindings for downstream endpoint formatting.
  • Surface engine metadata (server version, current context) for diagnostics and provider election.

Quick verification

# From repo root, run the Koan CLI doctor command against the Docker provider
dotnet run --project src/Koan.Orchestration.Cli -- doctor --engine docker --json

# Bring up a compose plan (non-prod) and watch readiness handling
dotnet run --project src/Koan.Orchestration.Cli -- up --engine docker --dry-run --explain

If Docker is reachable, doctor reports available=true and the engine block lists the detected server version and context.

Programmatic usage

var provider = new DockerProvider();
var availability = await provider.IsAvailableAsync();

if (availability.Ok)
{
    await provider.Up(".Koan/compose.yml", Profile.Local, new RunOptions(Detach: true, ReadinessTimeout: TimeSpan.FromSeconds(60)));
    var status = await provider.Status(new StatusOptions(Service: null));
    var ports = await provider.LivePorts();
    await provider.Down(".Koan/compose.yml", new StopOptions(RemoveVolumes: false));
}
  • RunOptions.Detach controls whether docker compose up returns immediately or attaches to service output.
  • RunOptions.ReadinessTimeout ensures the call fails if containers never reach running/healthy.
  • StopOptions.RemoveVolumes maps to docker compose down -v.

Edge cases to watch

  • Docker CLI may emit NDJSON; parsers tolerate both NDJSON and array outputs.
  • Informational stderr output is expected even on success—only exit codes are treated as failures.
  • IPv6 bindings (:::8080->80/tcp) are parsed and normalized before returning PortBinding records.
  • When the CLI is missing, status/logs fall back quietly while IsAvailableAsync delivers a helpful reason string.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Sylin.Koan.Orchestration.Connector.Docker:

Package Downloads
Sylin.Koan.Orchestration.Cli.Core

Core orchestration logic for the Koan CLI: app discovery, manifest assembly, compose generation, and provider election. Shared with the CLI front-end (Koan.Orchestration.Cli) and consumable by tooling that builds on the same primitives.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.17.0 181 6/12/2026
0.8.0 124 5/16/2026