ImagesCommand

Struct ImagesCommand 

Source
pub struct ImagesCommand {
    pub executor: CommandExecutor,
    /* private fields */
}
Expand description

Docker Images Command Builder

Implements the docker images command for listing local Docker images.

§Docker Images Overview

The images command lists Docker images stored locally on the system. It supports:

  • Repository and tag filtering
  • Multiple output formats (table, JSON, custom templates)
  • Image metadata display (digests, sizes, creation dates)
  • Advanced filtering by various criteria
  • Quiet mode for scripts

§Image Information

Each image entry typically includes:

  • Repository name
  • Tag
  • Image ID
  • Creation date
  • Size
  • Optionally: digests, intermediate layers

§Examples

use docker_wrapper::ImagesCommand;
use docker_wrapper::DockerCommand;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // List all nginx images
    let output = ImagesCommand::new()
        .repository("nginx")
        .execute()
        .await?;

    println!("Images success: {}", output.success());
    Ok(())
}

Fields§

§executor: CommandExecutor

Command executor for handling raw arguments and execution

Implementations§

Source§

impl ImagesCommand

Source

pub fn new() -> Self

Create a new ImagesCommand instance

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new();
Source

pub fn repository<S: Into<String>>(self, repository: S) -> Self

Filter images by repository name (and optionally tag)

§Arguments
  • repository - Repository name (e.g., “nginx”, “nginx:alpine”, “ubuntu:20.04”)
§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .repository("nginx:alpine");
Source

pub fn all(self) -> Self

Show all images (including intermediate images)

By default, Docker hides intermediate images. This option shows them all.

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .all();
Source

pub fn digests(self) -> Self

Show digests

Displays the digest (SHA256 hash) for each image.

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .digests();
Source

pub fn filter<S: Into<String>>(self, filter: S) -> Self

Add a filter condition

Common filters:

  • dangling=true|false - Show dangling images
  • label=<key> or label=<key>=<value> - Filter by label
  • before=<image> - Images created before this image
  • since=<image> - Images created since this image
  • reference=<pattern> - Filter by repository name pattern
§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .filter("dangling=true")
    .filter("label=maintainer=nginx");
Source

pub fn filters<I, S>(self, filters: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

Add multiple filter conditions

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .filters(vec!["dangling=false", "label=version=latest"]);
Source

pub fn format<S: Into<String>>(self, format: S) -> Self

Set custom output format

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .format("table {{.Repository}}:{{.Tag}}\t{{.Size}}");
Source

pub fn format_table(self) -> Self

Format output as table (default)

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .format_table();
Source

pub fn format_json(self) -> Self

Format output as JSON

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .format_json();
Source

pub fn no_trunc(self) -> Self

Don’t truncate output

By default, Docker truncates long values. This shows full values.

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .no_trunc();
Source

pub fn quiet(self) -> Self

Only show image IDs

Useful for scripting and automation.

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .quiet();
Source

pub fn tree(self) -> Self

List multi-platform images as a tree (experimental)

This is an experimental Docker feature for displaying multi-platform images.

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .tree();
Source

pub fn get_repository(&self) -> Option<&str>

Get the repository filter if set

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().repository("nginx");
assert_eq!(images_cmd.get_repository(), Some("nginx"));
Source

pub fn is_all(&self) -> bool

Check if showing all images

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().all();
assert!(images_cmd.is_all());
Source

pub fn is_digests(&self) -> bool

Check if showing digests

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().digests();
assert!(images_cmd.is_digests());
Source

pub fn is_quiet(&self) -> bool

Check if quiet mode is enabled

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().quiet();
assert!(images_cmd.is_quiet());
Source

pub fn is_no_trunc(&self) -> bool

Check if no-trunc is enabled

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().no_trunc();
assert!(images_cmd.is_no_trunc());
Source

pub fn is_tree(&self) -> bool

Check if tree mode is enabled

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().tree();
assert!(images_cmd.is_tree());
Source

pub fn get_filters(&self) -> &[String]

Get the current filters

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new()
    .filter("dangling=true");
assert_eq!(images_cmd.get_filters(), &["dangling=true"]);
Source

pub fn get_format(&self) -> Option<&str>

Get the format if set

§Examples
use docker_wrapper::ImagesCommand;

let images_cmd = ImagesCommand::new().format_json();
assert_eq!(images_cmd.get_format(), Some("json"));
Source

pub fn get_executor(&self) -> &CommandExecutor

Get a reference to the command executor

Source

pub fn get_executor_mut(&mut self) -> &mut CommandExecutor

Get a mutable reference to the command executor

Trait Implementations§

Source§

impl Clone for ImagesCommand

Source§

fn clone(&self) -> ImagesCommand

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ImagesCommand

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ImagesCommand

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl DockerCommand for ImagesCommand

Source§

type Output = ImagesOutput

The output type this command produces
Source§

fn get_executor(&self) -> &CommandExecutor

Get the command executor for extensibility
Source§

fn get_executor_mut(&mut self) -> &mut CommandExecutor

Get mutable command executor for extensibility
Source§

fn build_command_args(&self) -> Vec<String>

Build the complete command arguments including subcommands
Source§

fn execute<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<Self::Output>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the command and return the typed output
Source§

fn execute_command<'life0, 'async_trait>( &'life0 self, command_args: Vec<String>, ) -> Pin<Box<dyn Future<Output = Result<CommandOutput>> + Send + 'async_trait>>
where Self: Sync + 'async_trait, 'life0: 'async_trait,

Helper method to execute the command with proper error handling
Source§

fn arg<S: AsRef<OsStr>>(&mut self, arg: S) -> &mut Self

Add a raw argument to the command (escape hatch)
Source§

fn args<I, S>(&mut self, args: I) -> &mut Self
where I: IntoIterator<Item = S>, S: AsRef<OsStr>,

Add multiple raw arguments to the command (escape hatch)
Source§

fn flag(&mut self, flag: &str) -> &mut Self

Add a flag option (e.g., –detach, –rm)
Source§

fn option(&mut self, key: &str, value: &str) -> &mut Self

Add a key-value option (e.g., –name value, –env key=value)

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,