Skip to main content

docker_wrapper/
compose.rs

1//! Docker Compose command implementations.
2//!
3//! This module provides support for Docker Compose commands, enabling
4//! multi-container application management.
5//!
6//! All compose commands follow the unified `DockerCommand` trait pattern,
7//! providing consistent API with all other Docker commands in the crate.
8//!
9//! # Example
10//!
11//! ```rust,no_run
12//! use docker_wrapper::compose::{ComposeUpCommand, ComposeDownCommand, ComposeCommand};
13//! use docker_wrapper::DockerCommand;
14//!
15//! # #[tokio::main]
16//! # async fn main() -> Result<(), Box<dyn std::error::Error>> {
17//! // Start services
18//! ComposeUpCommand::new()
19//!     .file("docker-compose.yml")
20//!     .detach()
21//!     .execute()
22//!     .await?;
23//!
24//! // Stop services
25//! ComposeDownCommand::new()
26//!     .volumes()
27//!     .execute()
28//!     .await?;
29//! # Ok(())
30//! # }
31//! ```
32
33// Re-export compose types from command module
34pub use crate::command::{AnsiMode, ComposeCommand, ComposeConfig, ProgressType};
35
36// Re-export all compose commands
37pub use crate::command::compose::{
38    AttachResult, ComposeAttachCommand, ComposeBuildCommand, ComposeBuildResult,
39    ComposeConfigCommand, ComposeConfigResult, ComposeContainerInfo, ComposeConvertCommand,
40    ComposeConvertResult, ComposeCpCommand, ComposeCpResult, ComposeCreateCommand,
41    ComposeCreateResult, ComposeDownCommand, ComposeDownResult, ComposeEvent, ComposeEventsCommand,
42    ComposeEventsResult, ComposeExecCommand, ComposeExecResult, ComposeImagesCommand,
43    ComposeImagesResult, ComposeKillCommand, ComposeKillResult, ComposeLogsCommand,
44    ComposeLogsResult, ComposeLsCommand, ComposePauseCommand, ComposePauseResult,
45    ComposePortCommand, ComposePortResult, ComposeProject, ComposePsCommand, ComposePsResult,
46    ComposePullCommand, ComposePullResult, ComposePushCommand, ComposePushResult,
47    ComposeRestartCommand, ComposeRestartResult, ComposeRmCommand, ComposeRmResult,
48    ComposeRunCommand, ComposeRunResult, ComposeScaleCommand, ComposeScaleResult,
49    ComposeStartCommand, ComposeStartResult, ComposeStopCommand, ComposeStopResult,
50    ComposeTopCommand, ComposeTopResult, ComposeUnpauseCommand, ComposeUnpauseResult,
51    ComposeUpCommand, ComposeUpResult, ComposeVersionCommand, ComposeVersionResult,
52    ComposeWaitCommand, ComposeWaitResult, ComposeWatchCommand, ComposeWatchResult, ConfigFormat,
53    ContainerStatus, ConvertFormat, ImageInfo, ImagesFormat, LsFormat, LsResult, PortPublisher,
54    ProgressOutput, PullPolicy, RemoveImages, VersionFormat, VersionInfo,
55};