Ductus.FluentDocker 2.10.55

.NET Standard 2.0 .NET Framework 4.6.1
Install-Package Ductus.FluentDocker -Version 2.10.55
dotnet add package Ductus.FluentDocker --version 2.10.55
<PackageReference Include="Ductus.FluentDocker" Version="2.10.55" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Ductus.FluentDocker --version 2.10.55
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Ductus.FluentDocker, 2.10.55"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Ductus.FluentDocker as a Cake Addin
#addin nuget:?package=Ductus.FluentDocker&version=2.10.55

// Install Ductus.FluentDocker as a Cake Tool
#tool nuget:?package=Ductus.FluentDocker&version=2.10.55
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

FluentDocker

This library enables docker and docker-compose interactions using a Fluent API. It is supported on Linux, Windows and Mac. It also has support for the legacy docker-machine interactions.

Have a look at the project site for more information.

Sample Fluent API usage

      using (
        var container =
          new Builder().UseContainer()
            .UseImage("kiasaki/alpine-postgres")
            .ExposePort(5432)
            .WithEnvironment("POSTGRES_PASSWORD=mysecretpassword")
            .WaitForPort("5432/tcp", 30000 /*30s*/)
            .Build()
            .Start())
      {
        var config = container.GetConfiguration(true);
        Assert.AreEqual(ServiceRunningState.Running, config.State.ToServiceState());
      }

The following snippet fires up Postgres and waits for it to be ready. It uses docker-compose file to perform the task.

      var file = Path.Combine(Directory.GetCurrentDirectory(),
        (TemplateString) "Resources/ComposeTests/WordPress/docker-compose.yml");

      // @formatter:off
      using (var svc = new Builder()
                        .UseContainer()
                        .UseCompose()
                        .FromFile(file)
                        .RemoveOrphans()
                        .WaitForHttp("wordpress", "http://localhost:8000/wp-admin/install.php") 
                        .Build().Start())
        // @formatter:on
      {
        // We now have a running WordPress with a MySql database        
        var installPage = await "http://localhost:8000/wp-admin/install.php".Wget();

        Assert.IsTrue(installPage.IndexOf("https://wordpress.org/", StringComparison.Ordinal) != -1);
        Assert.AreEqual(1, svc.Hosts.Count); // The host used by compose
        Assert.AreEqual(2, svc.Containers.Count); // We can access each individual container
        Assert.AreEqual(2, svc.Images.Count); // And the images used.
      }

👀 It has tons of features, including a low-level command style, services and finally, the Fluent API on top of it.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (14)

Showing the top 5 NuGet packages that depend on Ductus.FluentDocker:

Package Downloads
Ductus.FluentDocker.MsTest

Ms Test Support to allow for create, run one or more docker images while testing using docker, compose, machine (Linux, Windows, Mac) using netcore or full framework. Documentation: https://github.com/mariotoffia/FluentDocker

NinjaTools.FluentMockServer

A C# Client for the MockServer Docker Image

Ductus.FluentDocker.XUnit

XUnit Support to allow for create, run one or more docker images while testing using docker, compose, machine (Linux, Windows, Mac) using netcore or full framework. Documentation: https://github.com/mariotoffia/FluentDocker

NinjaTools.FluentMockServer.TestContainers

In memory docker container runner for NinjaTools.FluentMockServer

DockerComposer

Run docker-compose containers straight from within integration tests

GitHub repositories (8)

Showing the top 5 popular GitHub repositories that depend on Ductus.FluentDocker:

Repository Stars
rabbitmq/rabbitmq-dotnet-client
RabbitMQ .NET client for .NET Standard 2.0+ and .NET 4.6.1+
mariotoffia/FluentDocker
Use docker, docker-compose local and remote in tests and your .NET core/full framework apps via a FluentAPI
IoTSharp/IoTSharp
IoTSharp is an open-source IoT platform for data collection, processing, visualization, and device management.
SQLStreamStore/SQLStreamStore
Stream Store library targeting RDBMS based implementations for .NET
danielgerlag/conductor
Distributed workflow server
Version Downloads Last updated
2.10.55 20,676 6/24/2022
2.10.54 91 6/24/2022
2.10.53 621 6/23/2022
2.10.51 9,172 6/7/2022
2.10.50 288 6/7/2022
2.10.48 5,958 5/30/2022
2.10.46 220 5/30/2022
2.10.45 85,718 3/9/2022
2.10.44 105,069 12/8/2021
2.10.42 27,060 11/24/2021
2.10.41 7,296 11/23/2021
2.10.40 26,581 10/27/2021
2.10.39 23,340 10/1/2021
2.10.35 414 10/1/2021
2.10.25 623 10/1/2021
2.10.23 486 10/1/2021
2.10.22 1,215 9/29/2021
2.10.21 8,323 9/19/2021
2.10.20 1,123 9/17/2021
2.10.19 446 9/16/2021
2.10.17 546 9/16/2021
2.10.16 549 9/15/2021
2.10.15 356 9/15/2021
2.10.14 1,171 9/14/2021
2.10.12 411 9/14/2021
2.10.10 1,098 9/13/2021
2.10.8 415 9/13/2021
2.10.7 68,501 6/11/2021
2.10.6 40,266 4/23/2021
2.10.5 10,395 4/20/2021
2.10.3 7,998 4/5/2021
2.10.2 14,664 3/28/2021
2.9.4 547 3/26/2021
2.9.3-beta.2 629 3/25/2021
2.8.14-beta.22 128 3/24/2021
2.8.13-beta.21 135 3/24/2021
2.8.12-beta.20 137 3/23/2021
2.8.11-beta.19 106 3/22/2021
2.8.10-beta.18 108 3/22/2021
2.8.9-beta.17 122 3/22/2021
2.8.8-beta.14 117 3/17/2021
2.8.7-beta.9 141 3/11/2021
2.8.5-beta.4 204 3/7/2021
2.8.5-beta.2 101 3/24/2021
2.8.4-beta.3 102 3/3/2021
2.8.3 1,124 3/24/2021
2.8.2 10,086 3/3/2021
2.7.80-beta.159 131 3/1/2021
2.7.71-beta.150 2,142 11/27/2020
2.7.69-beta.147 2,548 10/12/2020
2.7.68-beta.146 1,364 10/8/2020
2.7.66-beta.142 1,530 8/8/2020
2.7.65-beta.141 181 8/7/2020
2.7.64-beta.140 270 8/6/2020
2.7.62-beta.138 5,879 5/4/2020
2.7.60-beta.127 228 4/30/2020
2.7.59-beta0123 795 2/13/2020
2.7.58-beta0122 390 2/12/2020
2.7.54-beta0117 1,729 1/23/2020
2.7.53-beta0116 471 1/23/2020
2.7.52-beta0105 439 1/20/2020
2.7.51-beta0102 1,655 1/14/2020
2.7.50-beta0094 445 12/20/2019
2.7.49-beta0091 480 12/18/2019
2.7.48-beta0087 486 12/17/2019
2.7.47-beta0081 438 12/17/2019
2.7.46-beta0080 1,809 12/16/2019
2.7.45-beta0079 447 12/12/2019
2.7.44-beta0078 378 12/12/2019
2.7.42-beta0076 406 12/12/2019
2.7.41-beta0075 409 12/12/2019
2.7.38-beta0072 1,740 11/24/2019
2.7.37-beta0071 473 11/24/2019
2.7.36-beta0070 467 11/24/2019
2.7.35-beta0069 438 11/20/2019
2.7.34-beta0068 375 11/20/2019
2.7.33-beta0067 447 11/20/2019
2.7.32-beta0066 420 11/12/2019
2.7.31-beta0064 472 11/12/2019
2.7.30-beta0050 402 11/8/2019
2.7.29-beta0046 401 11/8/2019
2.7.28-beta0045 405 11/8/2019
2.7.27-beta0043 394 11/8/2019
2.7.21-beta0036 378 11/8/2019
2.7.20-beta0032 394 11/8/2019
2.7.19-beta0030 426 11/8/2019
2.7.4-beta0001 402 11/8/2019
2.7.3 305,256 10/18/2019
2.7.2 10,769 9/10/2019
2.7.1 127,494 8/7/2019
2.7.0 1,336 8/6/2019
2.6.9 3,636 7/29/2019
2.6.8 47,653 5/31/2019
2.6.7 1,279 5/17/2019
2.6.6 3,693 4/11/2019
2.6.5 2,078 4/2/2019
2.6.4 11,422 12/6/2018
2.6.3 4,718 10/15/2018
2.6.2 896 10/3/2018
2.6.1 770 10/3/2018
2.6.0 849 10/2/2018
2.5.1 1,159 9/29/2018
2.5.0 775 9/29/2018
2.4.1 830 9/27/2018
2.4.0 889 9/18/2018
2.3.2 2,192 8/6/2018
2.3.1 1,117 7/20/2018
2.3.0 1,310 7/2/2018
2.2.19 999 6/27/2018
2.2.18 1,082 6/25/2018
2.2.17 1,105 6/15/2018
2.2.16 999 6/14/2018
2.2.15 4,705 6/7/2018
2.2.14 1,020 6/1/2018
2.2.13 1,283 5/22/2018
2.2.12 2,728 4/20/2018
2.2.11 1,096 4/18/2018
2.2.10 1,459 4/17/2018
2.2.9 1,070 4/6/2018
2.2.8 3,831 11/22/2017
2.2.7 1,082 11/22/2017
2.2.6 1,026 11/21/2017
2.2.5 2,137 11/9/2017
2.2.4 1,057 11/9/2017
2.2.3 1,101 8/25/2017
2.2.2 1,549 5/22/2017
2.2.1 1,115 4/6/2017
2.2.0 974 6/5/2016
2.1.1 853 5/27/2016
2.0.0 1,283 4/24/2016
1.1.4 822 3/31/2016
1.1.3 991 3/30/2016
1.1.2 916 3/30/2016
1.1.1 1,016 3/29/2016
1.1.0 823 3/29/2016
1.0.3 904 3/24/2016
1.0.2 1,050 3/23/2016
1.0.1 1,118 3/23/2016
1.0.0 964 3/23/2016