From 4d8e667c3e475e811b8072647833067740c810c2 Mon Sep 17 00:00:00 2001 From: Corin Lawson Date: Mon, 19 Oct 2015 21:47:01 +1100 Subject: [PATCH] Powershell script to run compose in a container. This script assumes the typical environment that Windows users operate, namely, VirtualBox running the boot2docker ISO, managed by docker-machine. I wrote this script for my Windows using colleagues and first placed it in the public domain as a gist: https://gist.github.com/au-phiware/25213e72c80040f398ba In short, that script works for me. I have adapted that script to use the (yet to be) official image (docker/compose:latest) and also added an extra environment variable to provide additional options to docker run. Signed-off-by: Corin Lawson --- script/run.ps1 | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 script/run.ps1 diff --git a/script/run.ps1 b/script/run.ps1 new file mode 100644 index 000000000..47ec54692 --- /dev/null +++ b/script/run.ps1 @@ -0,0 +1,22 @@ +# Run docker-compose in a container via boot2docker. +# +# The current directory will be mirrored as a volume and additional +# volumes (or any other options) can be mounted by using +# $Env:DOCKER_COMPOSE_OPTIONS. + +if ($Env:DOCKER_COMPOSE_VERSION -eq $null -or $Env:DOCKER_COMPOSE_VERSION.Length -eq 0) { + $Env:DOCKER_COMPOSE_VERSION = "latest" +} + +if ($Env:DOCKER_COMPOSE_OPTIONS -eq $null) { + $Env:DOCKER_COMPOSE_OPTIONS = "" +} + +if (-not $Env:DOCKER_HOST) { + docker-machine env --shell=powershell default | Invoke-Expression + if (-not $?) { exit $LastExitCode } +} + +$local="/$($PWD -replace '^(.):(.*)$', '"$1".ToLower()+"$2".Replace("\","/")' | Invoke-Expression)" +docker run --rm -ti -v /var/run/docker.sock:/var/run/docker.sock -v "${local}:$local" -w "$local" $Env:DOCKER_COMPOSE_OPTIONS "docker/compose:$Env:DOCKER_COMPOSE_VERSION" $args +exit $LastExitCode