Dagger
Search

docker

This module provides Docker image build and push operations using Dagger's
native container build capabilities. Supports Azure ACR and other registries.

Installation

dagger install dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972

Entrypoint

Return Type
Docker !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
func (m *MyModule) Example() *dagger.Docker  {
	return dag.
			Docker()
}
@function
def example() -> dagger.Docker:
	return (
		dag.docker()
	)
@func()
example(): Docker {
	return dag
		.docker()
}

Types

Docker 🔗

Docker module for building and pushing container images to registries

registryHost() 🔗

Registry authentication

Return Type
String !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 registry-host
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Docker().
			RegistryHost(ctx)
}
@function
async def example() -> str:
	return await (
		dag.docker()
		.registry_host()
	)
@func()
async example(): Promise<string> {
	return dag
		.docker()
		.registryHost()
}

registryUsername() 🔗

Return Type
String !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 registry-username
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Docker().
			RegistryUsername(ctx)
}
@function
async def example() -> str:
	return await (
		dag.docker()
		.registry_username()
	)
@func()
async example(): Promise<string> {
	return dag
		.docker()
		.registryUsername()
}

registryPassword() 🔗

Return Type
Secret !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 registry-password
func (m *MyModule) Example() *dagger.Secret  {
	return dag.
			Docker().
			RegistryPassword()
}
@function
def example() -> dagger.Secret:
	return (
		dag.docker()
		.registry_password()
	)
@func()
example(): Secret {
	return dag
		.docker()
		.registryPassword()
}

buildArgs() 🔗

Build configuration

Return Type
[BuildArg ! ] !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 build-args
func (m *MyModule) Example() []*dagger.DockerBuildArg  {
	return dag.
			Docker().
			BuildArgs()
}
@function
def example() -> List[dagger.DockerBuildArg]:
	return (
		dag.docker()
		.build_args()
	)
@func()
example(): DockerBuildArg[] {
	return dag
		.docker()
		.buildArgs()
}

tags() 🔗

Return Type
[String ! ] !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 tags
func (m *MyModule) Example(ctx context.Context) []string  {
	return dag.
			Docker().
			Tags(ctx)
}
@function
async def example() -> List[str]:
	return await (
		dag.docker()
		.tags()
	)
@func()
async example(): Promise<string[]> {
	return dag
		.docker()
		.tags()
}

target() 🔗

Return Type
String !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 target
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Docker().
			Target(ctx)
}
@function
async def example() -> str:
	return await (
		dag.docker()
		.target()
	)
@func()
async example(): Promise<string> {
	return dag
		.docker()
		.target()
}

platform() 🔗

Return Type
Scalar !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 platform
func (m *MyModule) Example()   {
	return dag.
			Docker().
			Platform()
}
@function
def example() -> :
	return (
		dag.docker()
		.platform()
	)
@func()
example():  {
	return dag
		.docker()
		.platform()
}

withTarget() 🔗

WithTarget sets the build target for multi-stage Dockerfiles

Specifies which stage to build when using multi-stage builds.

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
targetString !-Stage name from Dockerfile (e.g., "builder", "production")
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 with-target --target string
func (m *MyModule) Example(target string) *dagger.Docker  {
	return dag.
			Docker().
			WithTarget(target)
}
@function
def example(target: str) -> dagger.Docker:
	return (
		dag.docker()
		.with_target(target)
	)
@func()
example(target: string): Docker {
	return dag
		.docker()
		.withTarget(target)
}

build() 🔗

Build builds a Docker image from a Dockerfile using Dagger’s native build

Returns a container that can be exported or pushed to a registry.

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-Directory containing Dockerfile and build context
imageNameString !-Image name for reference (e.g., "myapp")
dockerfileString "Dockerfile"Path to Dockerfile relative to source
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 build --source DIR_PATH --image-name string
func (m *MyModule) Example(source *dagger.Directory, imageName string) *dagger.Container  {
	return dag.
			Docker().
			Build(source, imageName)
}
@function
def example(source: dagger.Directory, image_name: str) -> dagger.Container:
	return (
		dag.docker()
		.build(source, image_name)
	)
@func()
example(source: Directory, imageName: string): Container {
	return dag
		.docker()
		.build(source, imageName)
}

withArg() 🔗

WithArg adds a Docker build argument (–build-arg)

Build arguments are available during image build and can be referenced in Dockerfile using ARG instructions. Chain multiple calls for multiple args.

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
keyString !-Argument name (e.g., "VERSION", "BUILD_DATE")
valueString !-Argument value
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 with-arg --key string --value string
func (m *MyModule) Example(key string, value string) *dagger.Docker  {
	return dag.
			Docker().
			WithArg(key, value)
}
@function
def example(key: str, value: str) -> dagger.Docker:
	return (
		dag.docker()
		.with_arg(key, value)
	)
@func()
example(key: string, value: string): Docker {
	return dag
		.docker()
		.withArg(key, value)
}

push() 🔗

Push pushes a built container to a registry

Requires registry authentication configured via WithRegistry(). Pushes all configured tags (defaults to “latest” if none specified). Returns the image digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
containerContainer !-Built container from Build()
imageNameString !-Image name without registry prefix (e.g., "myapp" or "myorg/myapp")
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 push --container IMAGE:TAG --image-name string
func (m *MyModule) Example(ctx context.Context, container *dagger.Container, imageName string) string  {
	return dag.
			Docker().
			Push(ctx, container, imageName)
}
@function
async def example(container: dagger.Container, image_name: str) -> str:
	return await (
		dag.docker()
		.push(container, image_name)
	)
@func()
async example(container: Container, imageName: string): Promise<string> {
	return dag
		.docker()
		.push(container, imageName)
}

withTag() 🔗

WithTag adds image tags.

If the tag is a semantic version (e.g., “v1.2.3”, “v1.0.0-rc4”), it automatically generates all appropriate tags: - v1.0.0-dev -> v1.0.0-dev, dev - v1.0.0-rc1 -> v1.0.0-rc1, v1.0.0-rc, v1.0-rc, v1-rc, rc - v1.0.0-release -> v1.0.0-release, v1.0.0, v1.0, v1, release, latest - v1.0.0 -> v1.0.0, v1.0, v1, latest

For non-semver tags (e.g., “latest”), only that tag is added.

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
tagString !-Image tag (e.g., "v1.2.3", "v1.0.0-rc4", "latest", "dev")
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 with-tag --tag string
func (m *MyModule) Example(tag string) *dagger.Docker  {
	return dag.
			Docker().
			WithTag(tag)
}
@function
def example(tag: str) -> dagger.Docker:
	return (
		dag.docker()
		.with_tag(tag)
	)
@func()
example(tag: string): Docker {
	return dag
		.docker()
		.withTag(tag)
}

withRegistry() 🔗

WithRegistry configures Docker registry authentication for pushing images

Supports Azure ACR (*.azurecr.io) and other Docker-compatible registries. Use environment variable references (env:VAR_NAME) for credentials.

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
hostString !-Registry hostname (e.g., "myregistry.azurecr.io")
usernameString !-Registry username (use env:VAR_NAME for environment variables)
passwordSecret !-Registry password or token (use env:VAR_NAME for environment variables)
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 with-registry --host string --username string --password env:MYSECRET
func (m *MyModule) Example(host string, username string, password *dagger.Secret) *dagger.Docker  {
	return dag.
			Docker().
			WithRegistry(host, username, password)
}
@function
def example(host: str, username: str, password: dagger.Secret) -> dagger.Docker:
	return (
		dag.docker()
		.with_registry(host, username, password)
	)
@func()
example(host: string, username: string, password: Secret): Docker {
	return dag
		.docker()
		.withRegistry(host, username, password)
}

buildAndPush() 🔗

BuildAndPush builds and pushes a Docker image in one operation

Convenience function combining Build() and Push(). Requires registry authentication configured via WithRegistry(). Returns the image digest.

Return Type
String !
Arguments
NameTypeDefault ValueDescription
sourceDirectory !-Directory containing Dockerfile and build context
imageNameString !-Image name without registry prefix (e.g., "myapp")
dockerfileString "Dockerfile"Path to Dockerfile relative to source
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 build-and-push --source DIR_PATH --image-name string
func (m *MyModule) Example(ctx context.Context, source *dagger.Directory, imageName string) string  {
	return dag.
			Docker().
			BuildAndPush(ctx, source, imageName)
}
@function
async def example(source: dagger.Directory, image_name: str) -> str:
	return await (
		dag.docker()
		.build_and_push(source, image_name)
	)
@func()
async example(source: Directory, imageName: string): Promise<string> {
	return dag
		.docker()
		.buildAndPush(source, imageName)
}

withPlatform() 🔗

WithPlatform sets the target platform for the build

Overrides the default platform (linux/amd64).

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
platformScalar !-Target platform (e.g., "linux/amd64", "linux/arm64")
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 with-platform
func (m *MyModule) Example(platform ) *dagger.Docker  {
	return dag.
			Docker().
			WithPlatform(platform)
}
@function
def example(platform: ) -> dagger.Docker:
	return (
		dag.docker()
		.with_platform(platform)
	)
@func()
example(platform: ): Docker {
	return dag
		.docker()
		.withPlatform(platform)
}

test() 🔗

Test verifies the module loads correctly

Return Type
String !
Example
dagger -m dev.azure.com/dordogne/DAGGER-TEMPLATES/_git/DAGGER-TEMPLATES/containers/docker@f73ac22028d740bbf5c9de3fcc54d81478909972 call \
 test
func (m *MyModule) Example(ctx context.Context) string  {
	return dag.
			Docker().
			Test(ctx)
}
@function
async def example() -> str:
	return await (
		dag.docker()
		.test()
	)
@func()
async example(): Promise<string> {
	return dag
		.docker()
		.test()
}

BuildArg 🔗

DockerBuildArg represents a Docker build argument

key() 🔗

Return Type
String !
Example
Function DockerBuildArg.key is not accessible from the docker module
Function DockerBuildArg.key is not accessible from the docker module
Function DockerBuildArg.key is not accessible from the docker module
Function DockerBuildArg.key is not accessible from the docker module

value() 🔗

Return Type
String !
Example
Function DockerBuildArg.value is not accessible from the docker module
Function DockerBuildArg.value is not accessible from the docker module
Function DockerBuildArg.value is not accessible from the docker module
Function DockerBuildArg.value is not accessible from the docker module