PullCommand

Struct PullCommand 

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

Docker Pull Command Builder

Implements the docker pull command for downloading images from registries.

§Docker Pull Overview

The pull command downloads images from Docker registries (like Docker Hub) to the local Docker daemon. It supports:

  • Single image pull by name and tag
  • All tags pull for a repository
  • Multi-platform image selection
  • Quiet mode for minimal output
  • Content trust verification control

§Image Naming

Images can be specified in several formats:

  • image - Defaults to latest tag
  • image:tag - Specific tag
  • image@digest - Specific digest
  • registry/image:tag - Specific registry
  • registry:port/image:tag - Custom registry port

§Examples

use docker_wrapper::PullCommand;
use docker_wrapper::DockerCommand;

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

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

Fields§

§executor: CommandExecutor

Command executor for handling raw arguments and execution

Implementations§

Source§

impl PullCommand

Source

pub fn new<S: Into<String>>(image: S) -> Self

Create a new PullCommand instance

§Arguments
  • image - The image name to pull (e.g., “nginx:latest”, “alpine”, “redis:7.0”)
§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx:latest");
Source

pub fn all_tags(self) -> Self

Download all tagged images in the repository

When enabled, pulls all available tags for the specified image repository. Cannot be used with specific tags or digests.

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("alpine")
    .all_tags();
Source

pub fn disable_content_trust(self) -> Self

Skip image verification (disable content trust)

By default, Docker may verify image signatures when content trust is enabled. This option disables that verification.

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx:latest")
    .disable_content_trust();
Source

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

Set platform if server is multi-platform capable

Specifies the platform for which to pull the image when the image supports multiple platforms (architectures).

Common platform values:

  • linux/amd64 - 64-bit Intel/AMD Linux
  • linux/arm64 - 64-bit ARM Linux
  • linux/arm/v7 - 32-bit ARM Linux
  • windows/amd64 - 64-bit Windows
§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx:latest")
    .platform("linux/arm64");
Source

pub fn quiet(self) -> Self

Suppress verbose output

Reduces the amount of output during the pull operation.

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx:latest")
    .quiet();
Source

pub fn get_image(&self) -> &str

Get the image name

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx:latest");
assert_eq!(pull_cmd.get_image(), "nginx:latest");
Source

pub fn is_all_tags(&self) -> bool

Check if all tags mode is enabled

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("alpine").all_tags();
assert!(pull_cmd.is_all_tags());
Source

pub fn is_quiet(&self) -> bool

Check if quiet mode is enabled

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx").quiet();
assert!(pull_cmd.is_quiet());
Source

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

Get the platform if set

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx").platform("linux/arm64");
assert_eq!(pull_cmd.get_platform(), Some("linux/arm64"));
Source

pub fn is_content_trust_disabled(&self) -> bool

Check if content trust is disabled

§Examples
use docker_wrapper::PullCommand;

let pull_cmd = PullCommand::new("nginx").disable_content_trust();
assert!(pull_cmd.is_content_trust_disabled());
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 PullCommand

Source§

fn clone(&self) -> PullCommand

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 PullCommand

Source§

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

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

impl Default for PullCommand

Source§

fn default() -> Self

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

impl DockerCommand for PullCommand

Source§

type Output = CommandOutput

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,