pub struct ImportCommand {
pub executor: CommandExecutor,
/* private fields */
}
Expand description
Docker import command builder
Import the contents from a tarball to create a filesystem image.
§Example
use docker_wrapper::ImportCommand;
// Import from file
let result = ImportCommand::new("backup.tar")
.repository("my-app:imported")
.run()
.await?;
if result.success() {
println!("Image imported: {}", result.image_id().unwrap_or("unknown"));
}
Fields§
§executor: CommandExecutor
Command executor
Implementations§
Source§impl ImportCommand
impl ImportCommand
Sourcepub fn new(source: impl Into<String>) -> Self
pub fn new(source: impl Into<String>) -> Self
Create a new import command
§Example
use docker_wrapper::ImportCommand;
// Import from file
let cmd = ImportCommand::new("backup.tar");
// Import from URL
let cmd = ImportCommand::new("http://example.com/image.tar.gz");
// Import from stdin
let cmd = ImportCommand::new("-");
Sourcepub fn repository(self, repository: impl Into<String>) -> Self
pub fn repository(self, repository: impl Into<String>) -> Self
Set repository name for the imported image
§Example
use docker_wrapper::ImportCommand;
let cmd = ImportCommand::new("backup.tar")
.repository("my-app:v1.0");
Sourcepub fn message(self, message: impl Into<String>) -> Self
pub fn message(self, message: impl Into<String>) -> Self
Set commit message for the imported image
§Example
use docker_wrapper::ImportCommand;
let cmd = ImportCommand::new("backup.tar")
.message("Imported from production backup");
Sourcepub fn change(self, change: impl Into<String>) -> Self
pub fn change(self, change: impl Into<String>) -> Self
Apply Dockerfile instruction while importing
§Example
use docker_wrapper::ImportCommand;
let cmd = ImportCommand::new("backup.tar")
.change("ENV PATH=/usr/local/bin:$PATH")
.change("EXPOSE 8080");
Sourcepub fn changes<I, S>(self, changes: I) -> Self
pub fn changes<I, S>(self, changes: I) -> Self
Apply multiple Dockerfile instructions while importing
§Example
use docker_wrapper::ImportCommand;
let cmd = ImportCommand::new("backup.tar")
.changes(vec![
"ENV NODE_ENV=production",
"EXPOSE 3000",
"CMD [\"npm\", \"start\"]"
]);
Sourcepub async fn run(&self) -> Result<ImportResult>
pub async fn run(&self) -> Result<ImportResult>
Execute the import command
§Errors
Returns an error if:
- The Docker daemon is not running
- The source file doesn’t exist or is not readable
- The tarball is corrupted or invalid
- Network issues (for URL sources)
- Insufficient disk space
§Example
use docker_wrapper::ImportCommand;
let result = ImportCommand::new("app-backup.tar")
.repository("my-app:restored")
.message("Restored from backup")
.run()
.await?;
if result.success() {
println!("Import successful!");
if let Some(image_id) = result.image_id() {
println!("New image ID: {}", image_id);
}
}
Trait Implementations§
Source§impl Clone for ImportCommand
impl Clone for ImportCommand
Source§fn clone(&self) -> ImportCommand
fn clone(&self) -> ImportCommand
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ImportCommand
impl Debug for ImportCommand
Source§impl DockerCommand for ImportCommand
impl DockerCommand for ImportCommand
Source§type Output = CommandOutput
type Output = CommandOutput
The output type this command produces
Source§fn build_command_args(&self) -> Vec<String>
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,
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 get_executor(&self) -> &CommandExecutor
fn get_executor(&self) -> &CommandExecutor
Get the command executor for extensibility
Source§fn get_executor_mut(&mut self) -> &mut CommandExecutor
fn get_executor_mut(&mut self) -> &mut CommandExecutor
Get mutable command executor for extensibility
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,
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
fn arg<S: AsRef<OsStr>>(&mut self, arg: S) -> &mut Self
Add a raw argument to the command (escape hatch)
Auto Trait Implementations§
impl Freeze for ImportCommand
impl RefUnwindSafe for ImportCommand
impl Send for ImportCommand
impl Sync for ImportCommand
impl Unpin for ImportCommand
impl UnwindSafe for ImportCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more