12 releases (7 stable)
5.0.1 | Mar 20, 2024 |
---|---|
5.0.0 | Nov 24, 2021 |
4.0.0 | Nov 24, 2021 |
3.0.0 | Nov 17, 2021 |
0.7.0 | Sep 12, 2020 |
#34 in #podman
Used in 2 crates
(via aws-build-lib)
19KB
341 lines
docker-command
This tool is no longer under active development. If you are interested in taking over or repurposing the name on crates.io, feel free to contact me: nbishop@nbishop.net
Rust library for creating Docker commands.
Rather than speaking directly to the Docker daemon, this library produces commands that can be run in a subprocess to invoke the Docker client (or a compatible client such as Podman).
This crate depends on the command-run crate. That crate's logging
feature (which controls whether the log
crate is a dependency) can be
toggled with this crate's logging
feature (enabled by default).
Example
let output = Launcher::auto()
.ok_or("container comand not found")?
.run(RunOpt {
image: "alpine:latest".into(),
command: Some(Path::new("echo").into()),
args: vec!["hello".into(), "world".into()],
..Default::default()
})
.enable_capture()
.run()?;
assert_eq!(output.stdout_string_lossy(), "hello world\n");
TODO
Only a few Docker commands are currently implemented, and many of the available options for those commands are not yet implemented. Contributions welcome!
Dependencies
~0.1–6.5MB
~38K SLoC