Back to App Store

Docker

Pilot Protocol · io.pilot.docker
Run Docker from an agent — a local Docker Engine + CLI on Linux, real containers.
Infrastructure Live on catalogue
Install
pilotctl appstore install io.pilot.docker
v29.6.1
Version
12
Methods
9.2 MB
Size
guarded
Sandbox
Linux
Platforms

About Docker

This app installs the official Docker 29.6.1 static distribution on a Linux host and fronts it as typed methods. The bundle carries the full Docker Enginedockerd, containerd, runc, containerd-shim-runc-v2, docker-proxy, docker-init, ctr — plus the docker CLI, each sha-pinned and staged at install. A small dockerctl wrapper manages the engine lifecycle and fronts the CLI.

Linux only

Docker containers require Linux kernel features (namespaces, cgroups, overlayfs) — there is no native macOS dockerd (Docker Desktop runs the engine inside a hidden Linux VM). This app therefore targets Linux (amd64 + arm64). docker.engine_start runs a real daemon and requires root (the pilot host must run as root, e.g. in a container or VM). To use Docker against an existing daemon instead, set DOCKER_HOST and skip engine_start.

The usual flow

1. Start the engine: docker.engine_start {} — boots dockerd on a private socket under DOCKER_DIR (default /tmp/pilot-docker), waits until the API is ready. 2. Pull + run: docker.pull { "image": "hello-world" }, then docker.run { "image": "hello-world" }. 3. Inspect: docker.ps, docker.images, docker.logs, docker.info. 4. Anything else: docker.exec { "args": ["run","-d","-p","8080:80","nginx"] } — any docker command with any flags. 5. Stop: docker.engine_stop.

Methods

- docker.engine_start / docker.engine_stop — local Docker Engine lifecycle (root). - docker.version, docker.info — client/server versions and system info. - docker.ps, docker.images, docker.logs — inspect containers/images/logs. - docker.pull / docker.run — pull an image / run a container (--rm). - docker.exec — the docker CLI with a verbatim argv (+ optional stdin): run with any flags, build, exec, networks, volumes, compose plugins, etc. - docker.cli_help — the full docker --help. docker.help — the self-describing method list.

Configuration

- DOCKER_DIR (env) — where dockerd keeps its socket, data-root, exec-root, pidfile, and log (default /tmp/pilot-docker). - DOCKER_HOST (env) — point the CLI at an existing/remote daemon instead of the bundled one (tcp://host:2375 or unix:///path); when set, skip docker.engine_start. - Rootdockerd needs root and kernel container support. Works on a Linux host/VM/privileged container where the pilot daemon runs as root; not on a restricted, capability-stripped sandbox. - Storage driver — defaults to overlay2; pass an alternative via docker.exec ({"args":["engine-start","--storage-driver","vfs"]}) on filesystems where overlay2 is unavailable.

Good to know

  • Free and open source (Apache-2.0). Binaries are the official Docker static release, repackaged unmodified.
  • Output returns verbatim; on a non-zero exit the reply is {stdout, stderr, exit}.

## docker --help ``` Docker CLI — commands and options =================================

Docker runs applications in containers. This app delivers the Docker Engine (dockerd + containerd + runc) and the docker CLI. Start a local engine with 'engine-start', then use any docker command.

Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands: run Create and run a new container from an image exec Execute a command in a running container ps List containers build Build an image from a Dockerfile pull Download an image from a registry push Upload an image to a registry images List images login Authenticate to a registry logout Log out from a registry search Search Docker Hub for images version Show the Docker version information info Display system-wide information

Management Commands: builder Manage builds compose* Docker Compose container Manage containers context Manage contexts image Manage images manifest Manage Docker image manifests and manifest lists network Manage networks plugin Manage plugins system Manage Docker volume Manage volumes

Swarm Commands: swarm Manage Swarm

Commands: attach Attach local standard input, output, and error streams to a running container commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server export Export a container's filesystem as a tar archive history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images save Save one or more images to a tar archive (streamed to STDOUT by default) start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers wait Block until one or more containers stop, then print their exit codes

Global Options: --config string Location of client config files (default "/Users/alexgodo/.docker") -c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use") -D, --debug Enable debug mode -H, --host string Daemon socket to connect to -l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info") --tls Use TLS; implied by --tlsverify --tlscacert string Trust certs signed only by this CA (default "/Users/alexgodo/.docker/ca.pem") --tlscert string Path to TLS certificate file (default "/Users/alexgodo/.docker/cert.pem") --tlskey string Path to TLS key file (default "/Users/alexgodo/.docker/key.pem") --tlsverify Use TLS and verify the remote -v, --version Print version information and quit

Run 'docker COMMAND --help' for more information on a command.

For more help on how to use Docker, head to https://docs.docker.com/go/guides/ ```

Methods · 12

docker.engine_start
Start a local Docker Engine (dockerd) on this Linux host, daemonized, on a private unix socket under `DOCKER_DIR` (default /tmp/pilot-docker); waits until the API is ready. Subsequent docker methods auto-target this socket. Requires root (dockerd manages namespaces/cgroups). This is the bundled `dockerd` with `--data-root/--exec-root` under DOCKER_DIR.
docker.engine_stop
Stop the local dockerd started by docker.engine_start.
docker.version
Print docker client + server (if reachable) version info. This is `docker version`.
docker.info
Show system-wide Docker info (containers, images, storage driver, kernel, runtimes). This is `docker info`.
docker.ps
List all containers (running and stopped). This is `docker ps -a`.
docker.images
List images in the local store. This is `docker images`.
docker.pull
Pull an image from a registry. This is `docker pull <image>`.
docker.run
Run a container from `image` with its default command and remove it on exit (`docker run --rm <image>`). For flags/commands (detached, ports, volumes, a custom command) use docker.exec, e.g. {"args":["run","-d","-p","8080:80","nginx"]}.
docker.logs
Fetch the logs of a container. This is `docker logs <container>`.
docker.exec
Run the docker CLI with a verbatim argv — the full surface beyond the curated methods. Payload is {"args":[...]} passed straight to `docker` (+ optional {"stdin":"..."}). This is how you run a container with any flags, build an image, exec into a container, manage networks/volumes/compose, etc. Examples: {"args":["run","-d","--name","web","-p","8080:80","nginx"]}; {"args":["run","--rm","alpine","sh","-c","echo hi"]}; {"args":["build","-t","myapp","/work"]}; {"args":["exec","web","nginx","-v"]}. The wrapper's own verbs `engine-start`/`engine-stop` also work here.
docker.cli_help
Return the complete `docker --help` (all commands + global options) from the delivered binary. This is `docker --help`.
docker.help
Discovery: every method with params, kind, and latency class.

What’s New

v29.6.1 Latest
  • Released v29.6.1

Platform Compatibility

macOS Apple Silicon
Not available
macOS Intel
Not available
Linux arm64
4.8 MBSupported
Linux amd64
5.2 MBSupported
You might also like

More in Infrastructure