Cake.Docker 1.4.0-beta.1

This is a prerelease version of Cake.Docker.
dotnet add package Cake.Docker --version 1.4.0-beta.1                
NuGet\Install-Package Cake.Docker -Version 1.4.0-beta.1                
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="Cake.Docker" Version="1.4.0-beta.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cake.Docker --version 1.4.0-beta.1                
#r "nuget: Cake.Docker, 1.4.0-beta.1"                
#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.
#addin nuget:?package=Cake.Docker&version=1.4.0-beta.1&prerelease                

Cake.Docker

A Cake AddIn that extends Cake with Docker command tools.

cakebuild.net NuGet

Including addin

Including addin in cake script is easy.

#addin "Cake.Docker"

Commands supported

Cake references

  • 1.3.0: Cake 4.0.0

  • 1.2.0: Cake 3.0.0

  • 1.1.0: Cake 2.0.0

  • 1.0.0: Cake 1.0.0

  • 0.10.0: Cake 0.33

  • 0.9.4: Cake 0.28

  • 0.9 references Cake 0.26 (and goes .NET Standard 2.0 only)

Important: In version 1.2.1 DockerComposeUpSettings.DetachedMode is renamed to Detach.

Important: In version 1.2.0 the .netcore 3.1 is dropped, only .net6+ versions are distributed.

Important: In version 1.1.0 the .netstandard 2.0 version is dropped and instead .netcore 3.1, .net5 and .net6 versions are distributed.

Important: Since version 0.10.0 path argument to DockerBuild is now quoted if not quoted already.

Important: Docker 17.* is supported since v0.8 and background compatibility is dropped (most notably, array arguments are converter to strings). If you wish to match older docker versions, user an older Cake.Docker version.

Important: Since version 0.8.0 the settings are generated from the latest Docker source code on github.

BREAKING Starting with 0.8.0 command's setting types that haven't been composed of all words have changed to full name. i.e. DockerBuildSettings to DockerImageBuildSettings).

Usage

To use the addin just add it to Cake call the aliases and configure any settings you want.

#addin "Cake.Docker"

...

// How to remove a container with no settings
Task("DockerRm")
	.Does(() => {
		// or more containers at once
		DockerRm("containerName1", "containerName2", ...);
	)};
	
// How to remove a container with settings
Task("DockerRmWithSettings")
	.Does(() => {
		// or more containers at once
		DockerRm(new DockerRmSettings { Force = true }, "containerName1", "containerName2", ...);
	)};

Other commands follow same convention.

All come with settings argument and support all settings except for DockerBuild which supports only major settings.

General Notes

This is an initial version and not tested thoroughly.

Contributions welcome - but ask first (create an issue).

Tested only on Windows and Ubuntu. Ensure that Docker command line tool can be located using the PATH (e.g. check that it can be found with which docker). On Linux machines, ensure that user has access to the docker daemon Unix socket or use the DOCKER_HOST environment variable to point to the daemon's TCP port. Refer to the Docker documentation for controlling access to the docker daemon Unix socket.

Follow @mihamarkic@mastodon.social

Discussion

For questions and to discuss ideas & feature requests, use the GitHub discussions on the Cake GitHub repository, under the Extension Q&A category.

Join in the discussion on the Cake repository

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on Cake.Docker:

Repository Stars
GitTools/GitVersion
From git log to SemVer in no time
charlessolar/Aggregates.NET
.NET event sourced domain driven design model via NServiceBus and GetEventStore
localstack-dotnet/localstack-dotnet-client
A lightweight .NET client for LocalStack
Version Downloads Last updated
1.4.0-beta.1 52 9/1/2024
1.3.0 244,418 1/19/2024
1.2.3 91,817 10/28/2023
1.2.2 140,797 8/6/2023
1.2.1 238 8/5/2023
1.2.0 430,650 1/16/2023
1.1.2 574,932 4/8/2022
1.1.1 208,859 2/19/2022
1.1.0 490,253 12/18/2021
1.0.0 569,968 2/15/2021
0.11.1 221,070 9/3/2020
0.11.0 419,831 12/8/2019
0.10.1 367,430 8/7/2019
0.10.0 757,917 4/17/2019
0.9.9 946,734 2/21/2019
0.9.8 5,699 2/14/2019
0.9.7 75,599 11/30/2018
0.9.6 87,697 8/22/2018
0.9.5 24,090 7/25/2018
0.9.4 40,316 6/11/2018
0.9.3 8,676 4/18/2018
0.9.2 12,704 4/16/2018
0.9.1 3,272 3/27/2018
0.9.0 15,067 3/5/2018
0.8.5 29,720 1/19/2018
0.8.4 1,552 1/16/2018
0.8.3 3,226 12/24/2017
0.8.2 53,448 9/30/2017
0.7.7 39,586 6/9/2017
0.7.6 2,427 5/18/2017
0.7.5 3,672 3/8/2017
0.7.4 2,419 12/28/2016
0.7.3 1,287 12/28/2016
0.7.2 1,253 12/28/2016
0.7.1 1,713 12/15/2016
0.7.0 1,336 11/17/2016
0.6.0 1,616 8/29/2016
0.5.0 1,436 7/22/2016
0.4.0 1,500 5/13/2016
0.3.0 1,781 4/24/2016
0.2.0 1,464 4/21/2016
0.1.1 1,179 4/20/2016