use lmrc_docker::{DockerClient, Result};
#[tokio::main]
async fn main() -> Result<()> {
let client = DockerClient::new()?;
client.ping().await?;
println!("✓ Connected to Docker daemon");
println!("\nPulling nginx:alpine image...");
client.images().pull("nginx:alpine", None).await?;
println!("✓ Image pulled successfully");
println!("\nCreating container...");
let container = client
.containers()
.create("nginx:alpine")
.name("my-nginx")
.port(8080, 80, "tcp")
.env("ENV", "development")
.build()
.await?;
println!("✓ Container created: {}", container.id());
container.start().await?;
println!("✓ Container started");
let info = container.inspect().await?;
println!("\nContainer info:");
println!(" Name: {:?}", info.name);
println!(" Status: {:?}", info.state.and_then(|s| s.status));
println!("\nStopping container...");
container.stop(Some(10)).await?;
println!("✓ Container stopped");
container.remove(false, false).await?;
println!("✓ Container removed");
Ok(())
}