FluentDocker 3.1.0 builds on the v3 rewrite with a batch of fluent-API additions, a couple of correctness fixes, and expanded engine support. All changes ship with unit tests.
✨ Added
- Container
Kill—IContainerService.KillAsync(signal = "SIGKILL")for fast, forceful teardown of disposable containers without a graceful stop. (#267) - Compose
Restart—IComposeService.RestartAsync()andRestartAsync(services)to restart a whole project or specific services. (#318) - Interactive / TTY / entrypoint —
WithInteractive(),WithTty()andWithEntrypoint(...)on the container builder, so short-lived images (e.g. SDK images) can be kept alive forExecuteAsync. (#264) - In-place image builds —
DockerfileBuilder.WithBuildContext(...)builds an existing Dockerfile in place via the engine's--file, so no generatedDockerfileis left in your working directory. (#280) - Attach to an existing compose project —
IComposeBuilder.ConnectToExisting()returns a service bound to a running project withoutdocker compose up, plusIComposeService.RefreshStateAsync()to read its live state. (#305) - Custom docker-compatible CLI —
IDockerCliDriverBuilder.WithBinary("finch" / "nerdctl", ...)drives compatible engines without aliasing them todocker(best-effort). (#315) - Log source tagging —
IStreamDriver.StreamLogEntriesAsync(...)yieldsLogEntryvalues tagged withLogStreamSource(stdout/stderr); the Docker Engine API driver reports the real source from the multiplexed stream. (#326)
🔧 Changed
ExecuteOnRunning/ExecuteOnDisposingnow execute each string argument as a separate command (restoring the v2 contract). Running commands fire after wait conditions, exactly once, and command failures surface instead of being silently swallowed. (#283)
🐞 Fixed
GetConfigurationinspect parsing — the engine returnsNetworkSettings.LinkLocalIPv6PrefixLen,GlobalIPv6PrefixLenandIPPrefixLenas JSON numbers; a tolerant string converter prevents theDriverException: Failed to inspect containerregression introduced by the move to System.Text.Json. (#335)
📖 Documentation
- Added an "Inspecting Container Info" guide: created date, image config, environment, exposed ports, labels, and the mapped host port. (#197)
Full Changelog: 3.0.1...3.1.0