diff --git a/pkg/universe.dagger.io/docker/cli/client.cue b/pkg/universe.dagger.io/docker/cli/client.cue index f64a77e3..974af575 100644 --- a/pkg/universe.dagger.io/docker/cli/client.cue +++ b/pkg/universe.dagger.io/docker/cli/client.cue @@ -5,17 +5,21 @@ import ( "universe.dagger.io/docker" ) -// See https://github.com/dagger/dagger/issues/1856 +// See https://github.com/dagger/dagger/discussions/1874 + +// Default image +#Image: docker.#Pull & { + source: "docker:20.10.13-alpine3.15" +} // Run a docker CLI command #Run: { #RunSocket | #RunSSH | #RunTCP - _image: docker.#Pull & { - source: "docker:20.10.13-alpine3.15" - } + _defaultImage: #Image - input: _image.output + // As a convenience, input defaults to a ready-to-use docker environment + input: docker.#Image | *_defaultImage.output } // Connect via local docker socket diff --git a/pkg/universe.dagger.io/docker/cli/test/run.cue b/pkg/universe.dagger.io/docker/cli/test/run.cue index 7f0b0e45..71fa536c 100644 --- a/pkg/universe.dagger.io/docker/cli/test/run.cue +++ b/pkg/universe.dagger.io/docker/cli/test/run.cue @@ -4,6 +4,7 @@ import ( "dagger.io/dagger" "universe.dagger.io/alpine" + "universe.dagger.io/docker" "universe.dagger.io/docker/cli" ) @@ -17,19 +18,27 @@ dagger.#Plan & { } differentImage: { - _cli: alpine.#Build & { - packages: { - bash: {} - "docker-cli": {} - } + _cli: docker.#Build & { + steps: [ + alpine.#Build & { + packages: "docker-cli": {} + }, + docker.#Run & { + command: { + name: "sh" + flags: "-c": "echo -n foobar > /test.txt" + } + }, + ] } - run: cli.#RunSocket & { + run: cli.#Run & { input: _cli.output host: client.filesystem."/var/run/docker.sock".read.contents command: { name: "docker" args: ["info"] } + export: files: "/test.txt": "foobar" } }