Dagger
Search

docker

This module supports publishing with multiple registry/tag references along with
providing Docker secrets and Build Args.

Installation

dagger install github.com/act3-ai/dagger/docker@v0.1.4

Entrypoint

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
srcDirectory !-top level source code directory
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH
func (m *MyModule) Example(src *dagger.Directory) *dagger.Docker  {
	return dag.
			Docker(src)
}
@function
def example(src: dagger.Directory) -> dagger.Docker:
	return (
		dag.docker(src)
	)
@func()
example(src: Directory): Docker {
	return dag
		.docker(src)
}

Types

Docker 🔗

withSecret() 🔗

Add a docker secret to builds

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
nameString !-name of the secret
valueSecret !-value of the secret
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH with-secret --name string --value env:MYSECRET
func (m *MyModule) Example(src *dagger.Directory, name string, value *dagger.Secret) *dagger.Docker  {
	return dag.
			Docker(src).
			WithSecret(name, value)
}
@function
def example(src: dagger.Directory, name: str, value: dagger.Secret) -> dagger.Docker:
	return (
		dag.docker(src)
		.with_secret(name, value)
	)
@func()
example(src: Directory, name: string, value: Secret): Docker {
	return dag
		.docker(src)
		.withSecret(name, value)
}

withRegistryCreds() 🔗

Add docker registry creds to builds

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
registryString !-name of the registry
usernameString !-username for registry
passwordSecret !-password for registry
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH with-registry-creds --registry string --username string --password env:MYSECRET
func (m *MyModule) Example(src *dagger.Directory, registry string, username string, password *dagger.Secret) *dagger.Docker  {
	return dag.
			Docker(src).
			WithRegistryCreds(registry, username, password)
}
@function
def example(src: dagger.Directory, registry: str, username: str, password: dagger.Secret) -> dagger.Docker:
	return (
		dag.docker(src)
		.with_registry_creds(registry, username, password)
	)
@func()
example(src: Directory, registry: string, username: string, password: Secret): Docker {
	return dag
		.docker(src)
		.withRegistryCreds(registry, username, password)
}

withDockerConfig() 🔗

Add docker registry creds to builds

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
fileFile !-file path to docker config json
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH with-docker-config --file file:path
func (m *MyModule) Example(src *dagger.Directory, file *dagger.File) *dagger.Docker  {
	return dag.
			Docker(src).
			WithDockerConfig(file)
}
@function
def example(src: dagger.Directory, file: dagger.File) -> dagger.Docker:
	return (
		dag.docker(src)
		.with_docker_config(file)
	)
@func()
example(src: Directory, file: File): Docker {
	return dag
		.docker(src)
		.withDockerConfig(file)
}

withBuildArg() 🔗

Add docker build args to builds

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
nameString !-name of the secret
valueString !-value of the secret
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH with-build-arg --name string --value string
func (m *MyModule) Example(src *dagger.Directory, name string, value string) *dagger.Docker  {
	return dag.
			Docker(src).
			WithBuildArg(name, value)
}
@function
def example(src: dagger.Directory, name: str, value: str) -> dagger.Docker:
	return (
		dag.docker(src)
		.with_build_arg(name, value)
	)
@func()
example(src: Directory, name: string, value: string): Docker {
	return dag
		.docker(src)
		.withBuildArg(name, value)
}

withLabel() 🔗

Add labels to builds

Return Type
Docker !
Arguments
NameTypeDefault ValueDescription
nameString !-name of the secret
valueString !-value of the secret
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH with-label --name string --value string
func (m *MyModule) Example(src *dagger.Directory, name string, value string) *dagger.Docker  {
	return dag.
			Docker(src).
			WithLabel(name, value)
}
@function
def example(src: dagger.Directory, name: str, value: str) -> dagger.Docker:
	return (
		dag.docker(src)
		.with_label(name, value)
	)
@func()
example(src: Directory, name: string, value: string): Docker {
	return dag
		.docker(src)
		.withLabel(name, value)
}

build() 🔗

Build image from Dockerfile

Return Type
Container !
Arguments
NameTypeDefault ValueDescription
targetString "ci"target stage of image build
platformScalar !"linux/amd64"platform to build with. value of [os]/[arch], example: linux/amd64, linux/arm64
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH build
func (m *MyModule) Example(src *dagger.Directory, platform ) *dagger.Container  {
	return dag.
			Docker(src).
			Build(platform)
}
@function
def example(src: dagger.Directory, platform: ) -> dagger.Container:
	return (
		dag.docker(src)
		.build(platform)
	)
@func()
example(src: Directory, platform: ): Container {
	return dag
		.docker(src)
		.build(platform)
}

publish() 🔗

Build a multi-arch image index from Dockerfile and Publish to an OCI registry, returning a slice of image digest references.

Return Type
[String ! ] !
Arguments
NameTypeDefault ValueDescription
addressString !-registry address to publish to, without tag
tags[String ! ] !-comma separated list of tags to publish
targetString "ci"target stage of image build
platforms[Scalar ! ] !["linux/amd64"]platforms to build with. value of [os]/[arch], example: linux/amd64, linux/arm64
Example
dagger -m github.com/act3-ai/dagger/docker@32539b05bdd32235ff684918b8127f1f1b401b69 call \
 --src DIR_PATH publish --address string --tags string1 --tags string2
func (m *MyModule) Example(ctx context.Context, src *dagger.Directory, address string, tags []string, platforms []) []string  {
	return dag.
			Docker(src).
			Publish(ctx, address, tags, platforms)
}
@function
async def example(src: dagger.Directory, address: str, tags: List[str], platforms: List[]) -> List[str]:
	return await (
		dag.docker(src)
		.publish(address, tags, platforms)
	)
@func()
async example(src: Directory, address: string, tags: string[], platforms: []): Promise<string[]> {
	return dag
		.docker(src)
		.publish(address, tags, platforms)
}