jepsen.control.docker

The recommended way is to use SSH to setup and teardown databases. It’s however sometimes conveniet to be able to setup and teardown the databases using docker exec and docker cp instead, which is what this namespace helps you do.

Use at your own risk, this is an unsupported way of running Jepsen.

cp-from

(cp-from container-id remote-paths local-path)

Copies files from a container filesystem to the host.

cp-to

(cp-to container-id local-paths remote-path)

Copies files from the host to a container filesystem.

docker

A remote that does things via docker exec and docker cp.

exec

(exec container-id {:keys [cmd], :as opts})

Execute a shell command on a docker container.

resolve-container-id

(resolve-container-id host)

Takes a host, e.g. localhost:30404, and resolves the Docker container id exposing that port. Due to a bug in Docker (https://github.com/moby/moby/pull/40442) this is more difficult than it should be.