Ductus.FluentDocker 2.10.59
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.
No packages depend on Ductus.FluentDocker.
.NET Framework 4.6.1
- Newtonsoft.Json (>= 13.0.1)
- SharpCompress (>= 0.29.0)
- System.Net.Http (>= 4.3.4)
- System.Runtime.InteropServices.RuntimeInformation (>= 4.3.0)
.NET Standard 2.0
- Newtonsoft.Json (>= 13.0.1)
- SharpCompress (>= 0.29.0)
.NET Standard 2.1
- Newtonsoft.Json (>= 13.0.1)
- SharpCompress (>= 0.29.0)
| Version | Downloads | Last updated |
|---|---|---|
| 2.85.0 | 0 | 07/25/2025 |
| 2.84.0 | 0 | 07/25/2025 |
| 2.83.0 | 0 | 06/27/2025 |
| 2.82.0 | 0 | 06/27/2025 |
| 2.81.0 | 0 | 06/27/2025 |
| 2.80.0 | 0 | 06/27/2025 |
| 2.79.0 | 0 | 06/27/2025 |
| 2.10.59 | 1 | 02/25/2026 |
| 2.10.57 | 0 | 09/24/2022 |
| 2.10.56 | 0 | 08/24/2022 |
| 2.10.55 | 0 | 06/24/2022 |
| 2.10.54 | 0 | 06/24/2022 |
| 2.10.53 | 0 | 06/23/2022 |
| 2.10.51 | 0 | 06/07/2022 |
| 2.10.50 | 0 | 06/07/2022 |
| 2.10.48 | 0 | 05/30/2022 |
| 2.10.46 | 0 | 05/30/2022 |
| 2.10.45 | 0 | 03/09/2022 |
| 2.10.44 | 0 | 12/08/2021 |
| 2.10.42 | 0 | 11/24/2021 |
| 2.10.41 | 0 | 11/23/2021 |
| 2.10.40 | 0 | 10/27/2021 |
| 2.10.39 | 0 | 10/01/2021 |
| 2.10.35 | 0 | 10/01/2021 |
| 2.10.25 | 0 | 10/01/2021 |
| 2.10.23 | 0 | 10/01/2021 |
| 2.10.22 | 0 | 09/29/2021 |
| 2.10.21 | 0 | 09/19/2021 |
| 2.10.20 | 0 | 09/17/2021 |
| 2.10.19 | 0 | 09/16/2021 |
| 2.10.17 | 0 | 09/16/2021 |
| 2.10.16 | 0 | 09/15/2021 |
| 2.10.15 | 0 | 09/15/2021 |
| 2.10.14 | 0 | 09/14/2021 |
| 2.10.12 | 0 | 09/14/2021 |
| 2.10.10 | 0 | 09/13/2021 |
| 2.10.8 | 0 | 09/13/2021 |
| 2.10.7 | 0 | 06/11/2021 |
| 2.10.6 | 0 | 04/23/2021 |
| 2.10.5 | 0 | 04/20/2021 |
| 2.10.3 | 0 | 04/05/2021 |
| 2.10.2 | 0 | 03/28/2021 |
| 2.9.4 | 0 | 03/26/2021 |
| 2.9.3-beta.2 | 0 | 03/25/2021 |
| 2.8.14-beta.22 | 0 | 03/24/2021 |
| 2.8.13-beta.21 | 0 | 03/24/2021 |
| 2.8.12-beta.20 | 0 | 03/23/2021 |
| 2.8.11-beta.19 | 0 | 03/22/2021 |
| 2.8.10-beta.18 | 0 | 03/22/2021 |
| 2.8.9-beta.17 | 0 | 03/22/2021 |
| 2.8.8-beta.14 | 0 | 03/17/2021 |
| 2.8.7-beta.9 | 0 | 03/11/2021 |
| 2.8.5-beta.4 | 0 | 03/07/2021 |
| 2.8.5-beta.2 | 0 | 03/24/2021 |
| 2.8.4-beta.3 | 0 | 03/03/2021 |
| 2.8.3 | 0 | 03/24/2021 |
| 2.8.2 | 0 | 03/03/2021 |
| 2.7.80-beta.159 | 0 | 03/01/2021 |
| 2.7.71-beta.150 | 0 | 11/27/2020 |
| 2.7.69-beta.147 | 0 | 10/12/2020 |
| 2.7.68-beta.146 | 0 | 10/08/2020 |
| 2.7.66-beta.142 | 0 | 08/08/2020 |
| 2.7.65-beta.141 | 0 | 08/07/2020 |
| 2.7.64-beta.140 | 0 | 08/06/2020 |
| 2.7.62-beta.138 | 0 | 05/04/2020 |
| 2.7.60-beta.127 | 0 | 04/30/2020 |
| 2.7.59-beta0123 | 0 | 02/13/2020 |
| 2.7.58-beta0122 | 0 | 02/12/2020 |
| 2.7.54-beta0117 | 0 | 01/23/2020 |
| 2.7.53-beta0116 | 0 | 01/23/2020 |
| 2.7.52-beta0105 | 0 | 01/20/2020 |
| 2.7.51-beta0102 | 0 | 01/14/2020 |
| 2.7.50-beta0094 | 0 | 12/20/2019 |
| 2.7.49-beta0091 | 0 | 12/18/2019 |
| 2.7.48-beta0087 | 0 | 12/17/2019 |
| 2.7.47-beta0081 | 0 | 12/17/2019 |
| 2.7.46-beta0080 | 0 | 12/16/2019 |
| 2.7.45-beta0079 | 0 | 12/12/2019 |
| 2.7.44-beta0078 | 0 | 12/12/2019 |
| 2.7.42-beta0076 | 0 | 12/12/2019 |
| 2.7.41-beta0075 | 0 | 12/12/2019 |
| 2.7.38-beta0072 | 0 | 11/24/2019 |
| 2.7.37-beta0071 | 0 | 11/24/2019 |
| 2.7.36-beta0070 | 0 | 11/24/2019 |
| 2.7.35-beta0069 | 0 | 11/20/2019 |
| 2.7.34-beta0068 | 0 | 11/20/2019 |
| 2.7.33-beta0067 | 0 | 11/20/2019 |
| 2.7.32-beta0066 | 0 | 11/12/2019 |
| 2.7.31-beta0064 | 0 | 11/12/2019 |
| 2.7.30-beta0050 | 0 | 11/08/2019 |
| 2.7.29-beta0046 | 0 | 11/08/2019 |
| 2.7.28-beta0045 | 0 | 11/08/2019 |
| 2.7.27-beta0043 | 0 | 11/08/2019 |
| 2.7.21-beta0036 | 0 | 11/08/2019 |
| 2.7.20-beta0032 | 0 | 11/08/2019 |
| 2.7.19-beta0030 | 0 | 11/08/2019 |
| 2.7.4-beta0001 | 0 | 11/08/2019 |
| 2.7.3 | 0 | 10/18/2019 |
| 2.7.2 | 0 | 09/10/2019 |
| 2.7.1 | 0 | 08/07/2019 |
| 2.7.0 | 0 | 08/06/2019 |
| 2.6.9 | 0 | 07/29/2019 |
| 2.6.8 | 0 | 05/31/2019 |
| 2.6.7 | 0 | 05/17/2019 |
| 2.6.6 | 0 | 04/11/2019 |
| 2.6.5 | 0 | 04/02/2019 |
| 2.6.4 | 0 | 12/06/2018 |
| 2.6.3 | 0 | 10/15/2018 |
| 2.6.2 | 0 | 10/03/2018 |
| 2.6.1 | 0 | 10/03/2018 |
| 2.6.0 | 0 | 10/02/2018 |
| 2.5.1 | 0 | 09/29/2018 |
| 2.5.0 | 0 | 09/29/2018 |
| 2.4.1 | 0 | 09/27/2018 |
| 2.4.0 | 0 | 09/18/2018 |
| 2.3.2 | 0 | 08/06/2018 |
| 2.3.1 | 0 | 07/20/2018 |
| 2.3.0 | 0 | 07/02/2018 |
| 2.2.19 | 0 | 06/27/2018 |
| 2.2.18 | 0 | 06/25/2018 |
| 2.2.17 | 0 | 06/15/2018 |
| 2.2.16 | 0 | 06/14/2018 |
| 2.2.15 | 0 | 06/07/2018 |
| 2.2.14 | 0 | 06/01/2018 |
| 2.2.13 | 0 | 05/22/2018 |
| 2.2.12 | 0 | 04/20/2018 |
| 2.2.11 | 0 | 04/18/2018 |
| 2.2.10 | 0 | 04/17/2018 |
| 2.2.9 | 0 | 04/06/2018 |
| 2.2.8 | 0 | 11/22/2017 |
| 2.2.7 | 0 | 11/22/2017 |
| 2.2.6 | 0 | 11/21/2017 |
| 2.2.5 | 0 | 11/09/2017 |
| 2.2.4 | 0 | 11/09/2017 |
| 2.2.3 | 0 | 08/25/2017 |
| 2.2.2 | 0 | 05/22/2017 |
| 2.2.1 | 0 | 04/06/2017 |
| 2.2.0 | 0 | 06/05/2016 |
| 2.1.1 | 0 | 05/27/2016 |
| 2.0.0 | 0 | 04/24/2016 |
| 1.1.4 | 0 | 03/31/2016 |
| 1.1.3 | 0 | 03/30/2016 |
| 1.1.2 | 0 | 03/30/2016 |
| 1.1.1 | 0 | 03/29/2016 |
| 1.1.0 | 0 | 03/29/2016 |
| 1.0.3 | 0 | 03/24/2016 |
| 1.0.2 | 0 | 03/23/2016 |
| 1.0.1 | 0 | 03/23/2016 |
| 1.0.0 | 0 | 03/23/2016 |