diff --git a/README.md b/README.md index 8798b8b..da84fa8 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,11 @@ remove: # Network name to connect container to (docker --network flag) network: +# Individual arguments that will be passed to docker cli as is. +dockerArgs: + - + ... + # Optional Dockerfile to build and run build: # Dockerfile to build diff --git a/src/internal/context.go b/src/internal/context.go index 99e99ce..aae537b 100644 --- a/src/internal/context.go +++ b/src/internal/context.go @@ -26,6 +26,7 @@ type Context struct { EntryPoint string `yaml:"entrypoint,omitempty"` Cmd []string Network string + DockerArgs []string `yaml:"dockerArgs,omitempty"` } // Clone returns a deep-copy of this context @@ -89,6 +90,8 @@ func (c Context) Merge(source Context, withVariations bool) Context { if source.Network != "" { merged.Network = source.Network } + merged.Cmd = append(merged.Cmd, source.Cmd...) + merged.DockerArgs = append(merged.DockerArgs, source.DockerArgs...) return merged } diff --git a/src/internal/docker/cli.go b/src/internal/docker/cli.go index bade4d3..ff92181 100644 --- a/src/internal/docker/cli.go +++ b/src/internal/docker/cli.go @@ -199,6 +199,11 @@ func runContainer(ctx context.Context, yeyCtx yey.Context, containerName string, args = append(args, "--entrypoint", yeyCtx.EntryPoint) } + // DockerArgs + if len(yeyCtx.DockerArgs) > 0 { + args = append(args, yeyCtx.DockerArgs...) + } + args = append(args, yeyCtx.Image) args = append(args, yeyCtx.Cmd...)