pub struct UpdateCommand {
pub executor: CommandExecutor,
/* private fields */
}
Expand description
Docker update command builder
Update configuration of one or more containers.
§Example
use docker_wrapper::UpdateCommand;
// Update memory limit
let result = UpdateCommand::new("my-container")
.memory("512m")
.run()
.await?;
if result.success() {
println!("Container updated successfully");
}
Fields§
§executor: CommandExecutor
Command executor
Implementations§
Source§impl UpdateCommand
impl UpdateCommand
Sourcepub fn new(container: impl Into<String>) -> Self
pub fn new(container: impl Into<String>) -> Self
Create a new update command for a single container
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container");
Sourcepub fn new_multiple(containers: Vec<impl Into<String>>) -> Self
pub fn new_multiple(containers: Vec<impl Into<String>>) -> Self
Create a new update command for multiple containers
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new_multiple(vec!["web", "db", "cache"]);
Sourcepub fn memory(self, memory: impl Into<String>) -> Self
pub fn memory(self, memory: impl Into<String>) -> Self
Set memory limit
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.memory("512m");
Sourcepub fn memory_reservation(self, memory_reservation: impl Into<String>) -> Self
pub fn memory_reservation(self, memory_reservation: impl Into<String>) -> Self
Set memory reservation (soft limit)
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.memory_reservation("256m");
Sourcepub fn memory_swap(self, memory_swap: impl Into<String>) -> Self
pub fn memory_swap(self, memory_swap: impl Into<String>) -> Self
Set memory swap limit
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.memory_swap("1g");
Set CPU shares (relative weight)
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpu_shares(512);
Sourcepub fn cpu_period(self, cpu_period: u64) -> Self
pub fn cpu_period(self, cpu_period: u64) -> Self
Set CPU period
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpu_period(100_000);
Sourcepub fn cpu_quota(self, cpu_quota: i64) -> Self
pub fn cpu_quota(self, cpu_quota: i64) -> Self
Set CPU quota
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpu_quota(50000);
Sourcepub fn cpus(self, cpus: impl Into<String>) -> Self
pub fn cpus(self, cpus: impl Into<String>) -> Self
Set number of CPUs
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpus("1.5");
Sourcepub fn cpuset_cpus(self, cpuset_cpus: impl Into<String>) -> Self
pub fn cpuset_cpus(self, cpuset_cpus: impl Into<String>) -> Self
Set CPU set
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpuset_cpus("0,1");
Sourcepub fn cpuset_mems(self, cpuset_mems: impl Into<String>) -> Self
pub fn cpuset_mems(self, cpuset_mems: impl Into<String>) -> Self
Set memory nodes
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.cpuset_mems("0");
Sourcepub fn blkio_weight(self, blkio_weight: u16) -> Self
pub fn blkio_weight(self, blkio_weight: u16) -> Self
Set block IO weight
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.blkio_weight(500);
Sourcepub fn kernel_memory(self, kernel_memory: impl Into<String>) -> Self
pub fn kernel_memory(self, kernel_memory: impl Into<String>) -> Self
Set kernel memory limit
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.kernel_memory("128m");
Sourcepub fn restart(self, restart: impl Into<String>) -> Self
pub fn restart(self, restart: impl Into<String>) -> Self
Set restart policy
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.restart("unless-stopped");
Sourcepub fn pids_limit(self, pids_limit: i64) -> Self
pub fn pids_limit(self, pids_limit: i64) -> Self
Set PID limit
§Example
use docker_wrapper::UpdateCommand;
let cmd = UpdateCommand::new("my-container")
.pids_limit(100);
Sourcepub async fn run(&self) -> Result<UpdateResult>
pub async fn run(&self) -> Result<UpdateResult>
Execute the update command
§Errors
Returns an error if:
- The Docker daemon is not running
- Any of the specified containers don’t exist
- Invalid resource limits are specified
§Example
use docker_wrapper::UpdateCommand;
let result = UpdateCommand::new("my-container")
.memory("1g")
.cpu_shares(512)
.run()
.await?;
if result.success() {
println!("Updated containers: {:?}", result.containers());
}
Trait Implementations§
Source§impl Clone for UpdateCommand
impl Clone for UpdateCommand
Source§fn clone(&self) -> UpdateCommand
fn clone(&self) -> UpdateCommand
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 UpdateCommand
impl Debug for UpdateCommand
Source§impl DockerCommand for UpdateCommand
impl DockerCommand for UpdateCommand
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 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<'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 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 UpdateCommand
impl RefUnwindSafe for UpdateCommand
impl Send for UpdateCommand
impl Sync for UpdateCommand
impl Unpin for UpdateCommand
impl UnwindSafe for UpdateCommand
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