This repository contains API definitions and implementations relating to Docker Stacks, the runtime instantiation of Docker Compose based applications.
The code is designed to be used standalone, or be vendored into other projects.
The Standalone Stacks runtime is a full implementation of the Stacks API and reconciler for Swarmkit stacks, intended to be ran as a separate container. It communicates via the Swarmkit API via the local docker socket, and uses a fake in-memory store for stack objects.
You may build the standalone runtime with
make standalone
The standalone runtime can be ran as a container on a swarmkit manager node:
docker run -v /var/run/docker.sock:/var/run/docker.sock -p 8080:2375 dockereng/stack-controller:latest
After building the e2e test image with make e2e
and starting the standalone runtime (see above) you
can run the e2e tests with something along the following lines:
docker run --net host -e DOCKER_HOST=tcp://localhost:8080 dockereng/stack-e2e:latest
Additional flags can be passed as command arguments - try -help
for usage.
docker/stacks is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.