Skip to content
Cake AddIn that extends Cake with Docker
C# PowerShell
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Updates handling of experimental commands for RunWithResults Closes #73 Nov 5, 2019
.gitignore added .cr to .gitignore Aug 29, 2016
LICENSE Initial commit Apr 20, 2016
README.md
ReleaseNotes.md Update ReleaseNotes.md Aug 12, 2019
args-parser-2.linq First preview of latest Docker v17 support Jul 1, 2017
args-parser-3.linq First preview of latest Docker v17 support Jul 1, 2017
args-parser-github.linq Updates container commands Sep 17, 2017
args-parser.linq added swarm init Jul 22, 2016

README.md

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

  • 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: 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

You can’t perform that action at this time.