pub struct DockerClient { /* private fields */ }Expand description
Main Docker client for managing containers, images, networks, and volumes.
Implementations§
Source§impl DockerClient
impl DockerClient
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Create a new Docker client with default configuration.
This respects the DOCKER_HOST environment variable.
§Errors
Returns an error if unable to connect to the Docker daemon.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::new()?;
Ok(())
}Sourcepub fn with_config(config: DockerClientConfig) -> Result<Self>
pub fn with_config(config: DockerClientConfig) -> Result<Self>
Create a new Docker client with custom configuration.
§Errors
Returns an error if unable to connect to the Docker daemon.
§Example
use docker_client::{DockerClient, DockerClientConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = DockerClientConfig::new()
.timeout(60)
.api_version("1.43");
let client = DockerClient::with_config(config)?;
Ok(())
}Sourcepub fn connect_with_unix(path: impl Into<PathBuf>) -> Result<Self>
pub fn connect_with_unix(path: impl Into<PathBuf>) -> Result<Self>
Connect to Docker daemon using Unix socket.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::connect_with_unix("/var/run/docker.sock")?;
Ok(())
}Sourcepub fn connect_with_tcp(addr: impl Into<String>) -> Result<Self>
pub fn connect_with_tcp(addr: impl Into<String>) -> Result<Self>
Connect to Docker daemon using TCP.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::connect_with_tcp("localhost:2375")?;
Ok(())
}Sourcepub async fn version(&self) -> Result<String>
pub async fn version(&self) -> Result<String>
Check if Docker daemon is accessible and get version info.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::new()?;
let version = client.version().await?;
println!("Docker version: {}", version);
Ok(())
}Sourcepub async fn ping(&self) -> Result<()>
pub async fn ping(&self) -> Result<()>
Ping the Docker daemon to check connectivity.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::new()?;
client.ping().await?;
println!("Docker daemon is accessible");
Ok(())
}Sourcepub async fn info(&self) -> Result<SystemInfo>
pub async fn info(&self) -> Result<SystemInfo>
Get system information from Docker daemon.
Source§impl DockerClient
impl DockerClient
Sourcepub fn containers(&self) -> Containers<'_>
pub fn containers(&self) -> Containers<'_>
Access container operations.
§Example
use docker_client::DockerClient;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = DockerClient::new()?;
let containers = client.containers().list(true).await?;
Ok(())
}Source§impl DockerClient
impl DockerClient
Source§impl DockerClient
impl DockerClient
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DockerClient
impl !RefUnwindSafe for DockerClient
impl Send for DockerClient
impl Sync for DockerClient
impl Unpin for DockerClient
impl !UnwindSafe for DockerClient
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