# docker_wrapper v0.1.2 - Table of Contents A typed Elixir wrapper for the Docker CLI with struct-based commands and pipeline composition ## Pages - [DockerWrapper](readme.md) - [LICENSE](license.md) ## Modules - Core - [Docker](Docker.md): A typed Elixir wrapper for the Docker CLI. - [Docker.Command](Docker.Command.md): Behaviour and runner for Docker commands. - [Docker.Config](Docker.Config.md): Configuration for the Docker CLI wrapper. - Data Structures - [Docker.ContainerId](Docker.ContainerId.md): A Docker container ID with both full and short forms. - [Docker.Error](Docker.Error.md): Error returned when a Docker command fails. - [Docker.Result](Docker.Result.md): The raw result of a successful Docker command execution. - Container Lifecycle - [Docker.Commands.Create](Docker.Commands.Create.md): Implements the `Docker.Command` behaviour for `docker create`. - [Docker.Commands.Kill](Docker.Commands.Kill.md): Implements the `Docker.Command` behaviour for `docker kill`. - [Docker.Commands.Pause](Docker.Commands.Pause.md): Implements the `Docker.Command` behaviour for `docker pause`. - [Docker.Commands.Restart](Docker.Commands.Restart.md): Implements the `Docker.Command` behaviour for `docker restart`. - [Docker.Commands.Rm](Docker.Commands.Rm.md): Implements the `Docker.Command` behaviour for `docker rm`. - [Docker.Commands.Run](Docker.Commands.Run.md): Implements the `Docker.Command` behaviour for `docker run`. - [Docker.Commands.Start](Docker.Commands.Start.md): Implements the `Docker.Command` behaviour for `docker start`. - [Docker.Commands.Stop](Docker.Commands.Stop.md): Implements the `Docker.Command` behaviour for `docker stop`. - [Docker.Commands.Unpause](Docker.Commands.Unpause.md): Implements the `Docker.Command` behaviour for `docker unpause`. - Container Inspection - [Docker.Commands.Exec](Docker.Commands.Exec.md): Implements the `Docker.Command` behaviour for `docker exec`. - [Docker.Commands.Inspect](Docker.Commands.Inspect.md): Implements the `Docker.Command` behaviour for `docker inspect`. - [Docker.Commands.Logs](Docker.Commands.Logs.md): Implements the `Docker.Command` behaviour for `docker logs`. - [Docker.Commands.Ps](Docker.Commands.Ps.md): Implements the `Docker.Command` behaviour for `docker ps`. - Images - [Docker.Commands.Build](Docker.Commands.Build.md): Implements the `Docker.Command` behaviour for `docker build`. - [Docker.Commands.History](Docker.Commands.History.md): Implements the `Docker.Command` behaviour for `docker history`. - [Docker.Commands.Images](Docker.Commands.Images.md): Implements the `Docker.Command` behaviour for `docker images`. - [Docker.Commands.Import](Docker.Commands.Import.md): Implements the `Docker.Command` behaviour for `docker import`. - [Docker.Commands.Load](Docker.Commands.Load.md): Implements the `Docker.Command` behaviour for `docker load`. - [Docker.Commands.Pull](Docker.Commands.Pull.md): Implements the `Docker.Command` behaviour for `docker pull`. - [Docker.Commands.Push](Docker.Commands.Push.md): Implements the `Docker.Command` behaviour for `docker push`. - [Docker.Commands.Rmi](Docker.Commands.Rmi.md): Implements the `Docker.Command` behaviour for `docker rmi`. - [Docker.Commands.Save](Docker.Commands.Save.md): Implements the `Docker.Command` behaviour for `docker save`. - [Docker.Commands.Search](Docker.Commands.Search.md): Implements the `Docker.Command` behaviour for `docker search`. - [Docker.Commands.Tag](Docker.Commands.Tag.md): Implements the `Docker.Command` behaviour for `docker tag`. - Networks - [Docker.Commands.Network.Connect](Docker.Commands.Network.Connect.md): Implements the `Docker.Command` behaviour for `docker network connect`. - [Docker.Commands.Network.Create](Docker.Commands.Network.Create.md): Implements the `Docker.Command` behaviour for `docker network create`. - [Docker.Commands.Network.Disconnect](Docker.Commands.Network.Disconnect.md): Implements the `Docker.Command` behaviour for `docker network disconnect`. - [Docker.Commands.Network.Inspect](Docker.Commands.Network.Inspect.md): Implements the `Docker.Command` behaviour for `docker network inspect`. - [Docker.Commands.Network.Ls](Docker.Commands.Network.Ls.md): Implements the `Docker.Command` behaviour for `docker network ls`. - [Docker.Commands.Network.Prune](Docker.Commands.Network.Prune.md): Implements the `Docker.Command` behaviour for `docker network prune`. - [Docker.Commands.Network.Rm](Docker.Commands.Network.Rm.md): Implements the `Docker.Command` behaviour for `docker network rm`. - Volumes - [Docker.Commands.Volume.Create](Docker.Commands.Volume.Create.md): Implements the `Docker.Command` behaviour for `docker volume create`. - [Docker.Commands.Volume.Inspect](Docker.Commands.Volume.Inspect.md): Implements the `Docker.Command` behaviour for `docker volume inspect`. - [Docker.Commands.Volume.Ls](Docker.Commands.Volume.Ls.md): Implements the `Docker.Command` behaviour for `docker volume ls`. - [Docker.Commands.Volume.Prune](Docker.Commands.Volume.Prune.md): Implements the `Docker.Command` behaviour for `docker volume prune`. - [Docker.Commands.Volume.Rm](Docker.Commands.Volume.Rm.md): Implements the `Docker.Command` behaviour for `docker volume rm`. - Compose - [Docker.Commands.Compose.Build](Docker.Commands.Compose.Build.md): Implements the `Docker.Command` behaviour for `docker compose build`. - [Docker.Commands.Compose.Common](Docker.Commands.Compose.Common.md): Shared fields and arg helpers for compose subcommands. - [Docker.Commands.Compose.Config](Docker.Commands.Compose.Config.md): Implements the `Docker.Command` behaviour for `docker compose config`. - [Docker.Commands.Compose.Create](Docker.Commands.Compose.Create.md): Implements the `Docker.Command` behaviour for `docker compose create`. - [Docker.Commands.Compose.Down](Docker.Commands.Compose.Down.md): Implements the `Docker.Command` behaviour for `docker compose down`. - [Docker.Commands.Compose.Exec](Docker.Commands.Compose.Exec.md): Implements the `Docker.Command` behaviour for `docker compose exec`. - [Docker.Commands.Compose.Images](Docker.Commands.Compose.Images.md): Implements the `Docker.Command` behaviour for `docker compose images`. - [Docker.Commands.Compose.Logs](Docker.Commands.Compose.Logs.md): Implements the `Docker.Command` behaviour for `docker compose logs`. - [Docker.Commands.Compose.Port](Docker.Commands.Compose.Port.md): Implements the `Docker.Command` behaviour for `docker compose port`. - [Docker.Commands.Compose.Ps](Docker.Commands.Compose.Ps.md): Implements the `Docker.Command` behaviour for `docker compose ps`. - [Docker.Commands.Compose.Pull](Docker.Commands.Compose.Pull.md): Implements the `Docker.Command` behaviour for `docker compose pull`. - [Docker.Commands.Compose.Push](Docker.Commands.Compose.Push.md): Implements the `Docker.Command` behaviour for `docker compose push`. - [Docker.Commands.Compose.Restart](Docker.Commands.Compose.Restart.md): Implements the `Docker.Command` behaviour for `docker compose restart`. - [Docker.Commands.Compose.Rm](Docker.Commands.Compose.Rm.md): Implements the `Docker.Command` behaviour for `docker compose rm`. - [Docker.Commands.Compose.Run](Docker.Commands.Compose.Run.md): Implements the `Docker.Command` behaviour for `docker compose run`. - [Docker.Commands.Compose.Start](Docker.Commands.Compose.Start.md): Implements the `Docker.Command` behaviour for `docker compose start`. - [Docker.Commands.Compose.Stop](Docker.Commands.Compose.Stop.md): Implements the `Docker.Command` behaviour for `docker compose stop`. - [Docker.Commands.Compose.Top](Docker.Commands.Compose.Top.md): Implements the `Docker.Command` behaviour for `docker compose top`. - [Docker.Commands.Compose.Up](Docker.Commands.Compose.Up.md): Implements the `Docker.Command` behaviour for `docker compose up`. - Builder / Buildx - [Docker.Commands.Builder.Bake](Docker.Commands.Builder.Bake.md): Implements the `Docker.Command` behaviour for `docker buildx bake`. - [Docker.Commands.Builder.Build](Docker.Commands.Builder.Build.md): Implements the `Docker.Command` behaviour for `docker buildx build`. - [Docker.Commands.Builder.Create](Docker.Commands.Builder.Create.md): Implements the `Docker.Command` behaviour for `docker buildx create`. - [Docker.Commands.Builder.Inspect](Docker.Commands.Builder.Inspect.md): Implements the `Docker.Command` behaviour for `docker buildx inspect`. - [Docker.Commands.Builder.Ls](Docker.Commands.Builder.Ls.md): Implements the `Docker.Command` behaviour for `docker buildx ls`. - [Docker.Commands.Builder.Prune](Docker.Commands.Builder.Prune.md): Implements the `Docker.Command` behaviour for `docker builder prune`. - [Docker.Commands.Builder.Rm](Docker.Commands.Builder.Rm.md): Implements the `Docker.Command` behaviour for `docker buildx rm`. - [Docker.Commands.Builder.Stop](Docker.Commands.Builder.Stop.md): Implements the `Docker.Command` behaviour for `docker buildx stop`. - [Docker.Commands.Builder.Use](Docker.Commands.Builder.Use.md): Implements the `Docker.Command` behaviour for `docker buildx use`. - System - [Docker.Commands.System.Df](Docker.Commands.System.Df.md): Implements the `Docker.Command` behaviour for `docker system df`. - [Docker.Commands.System.Events](Docker.Commands.System.Events.md): Implements the `Docker.Command` behaviour for `docker events`. - [Docker.Commands.System.Info](Docker.Commands.System.Info.md): Implements the `Docker.Command` behaviour for `docker info`. - [Docker.Commands.System.Login](Docker.Commands.System.Login.md): Implements the `Docker.Command` behaviour for `docker login`. - [Docker.Commands.System.Logout](Docker.Commands.System.Logout.md): Implements the `Docker.Command` behaviour for `docker logout`. - [Docker.Commands.System.Prune](Docker.Commands.System.Prune.md): Implements the `Docker.Command` behaviour for `docker system prune`. - [Docker.Commands.System.Version](Docker.Commands.System.Version.md): Implements the `Docker.Command` behaviour for `docker version`. - Context - [Docker.Commands.Context.Create](Docker.Commands.Context.Create.md): Implements the `Docker.Command` behaviour for `docker context create`. - [Docker.Commands.Context.Inspect](Docker.Commands.Context.Inspect.md): Implements the `Docker.Command` behaviour for `docker context inspect`. - [Docker.Commands.Context.Ls](Docker.Commands.Context.Ls.md): Implements the `Docker.Command` behaviour for `docker context ls`. - [Docker.Commands.Context.Rm](Docker.Commands.Context.Rm.md): Implements the `Docker.Command` behaviour for `docker context rm`. - [Docker.Commands.Context.Update](Docker.Commands.Context.Update.md): Implements the `Docker.Command` behaviour for `docker context update`. - [Docker.Commands.Context.Use](Docker.Commands.Context.Use.md): Implements the `Docker.Command` behaviour for `docker context use`. - Swarm - [Docker.Commands.Swarm.Ca](Docker.Commands.Swarm.Ca.md): Implements the `Docker.Command` behaviour for `docker swarm ca`. - [Docker.Commands.Swarm.Init](Docker.Commands.Swarm.Init.md): Implements the `Docker.Command` behaviour for `docker swarm init`. - [Docker.Commands.Swarm.Join](Docker.Commands.Swarm.Join.md): Implements the `Docker.Command` behaviour for `docker swarm join`. - [Docker.Commands.Swarm.JoinToken](Docker.Commands.Swarm.JoinToken.md): Implements the `Docker.Command` behaviour for `docker swarm join-token`. - [Docker.Commands.Swarm.Leave](Docker.Commands.Swarm.Leave.md): Implements the `Docker.Command` behaviour for `docker swarm leave`. - [Docker.Commands.Swarm.Unlock](Docker.Commands.Swarm.Unlock.md): Implements the `Docker.Command` behaviour for `docker swarm unlock`. - [Docker.Commands.Swarm.UnlockKey](Docker.Commands.Swarm.UnlockKey.md): Implements the `Docker.Command` behaviour for `docker swarm unlock-key`. - [Docker.Commands.Swarm.Update](Docker.Commands.Swarm.Update.md): Implements the `Docker.Command` behaviour for `docker swarm update`. - Manifest - [Docker.Commands.Manifest.Annotate](Docker.Commands.Manifest.Annotate.md): Implements the `Docker.Command` behaviour for `docker manifest annotate`. - [Docker.Commands.Manifest.Create](Docker.Commands.Manifest.Create.md): Implements the `Docker.Command` behaviour for `docker manifest create`. - [Docker.Commands.Manifest.Inspect](Docker.Commands.Manifest.Inspect.md): Implements the `Docker.Command` behaviour for `docker manifest inspect`. - [Docker.Commands.Manifest.Push](Docker.Commands.Manifest.Push.md): Implements the `Docker.Command` behaviour for `docker manifest push`. - [Docker.Commands.Manifest.Rm](Docker.Commands.Manifest.Rm.md): Implements the `Docker.Command` behaviour for `docker manifest rm`. - Prune - [Docker.Commands.ContainerPrune](Docker.Commands.ContainerPrune.md): Implements the `Docker.Command` behaviour for `docker container prune`. - [Docker.Commands.ImagePrune](Docker.Commands.ImagePrune.md): Implements the `Docker.Command` behaviour for `docker image prune`. - BEAM Extensions - [Docker.Stream](Docker.Stream.md): Port-based streaming for long-running Docker commands. - [Docker.Supervised](Docker.Supervised.md): A GenServer wrapping the full container lifecycle under OTP supervision. - Debug - [Docker.Debug.Config](Docker.Debug.Config.md): Debug configuration for Docker command execution. - [Docker.Debug.Executor](Docker.Debug.Executor.md): Retry-aware command executor with dry-run and verbose logging support. - [Docker.Debug.Retry](Docker.Debug.Retry.md): Retry policy for Docker command execution. - Internals - [Docker.Commands.Generic](Docker.Commands.Generic.md): Escape hatch for running arbitrary Docker commands. - [Docker.Commands.Init](Docker.Commands.Init.md): Implements the `Docker.Command` behaviour for `docker init`. - [Docker.Telemetry](Docker.Telemetry.md): Telemetry event definitions for docker_wrapper.