Skip to content
Example Docker Compose app
JavaScript C# CSS Groovy HTML Java Other
Branch: master
Clone or download
Pull request Compare This branch is 9 commits ahead, 75 commits behind dockersamples:master.
Latest commit 7b00f05 Sep 27, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper
result Change result page title Mar 21, 2017
src/test Add VNC recording of test Sep 27, 2018
vote Working Selenium setup Mar 21, 2017
worker Establishe redis connection after its lost after a few minutes Nov 30, 2016
.gitignore Working Selenium setup Mar 21, 2017
LICENSE Add LICENSE and MAINTAINERS Mar 31, 2016
MAINTAINERS Add Mano as a maintainer Oct 20, 2016
README.md Updating title of app Jan 24, 2017
architecture.png Update architecture diagram Jun 19, 2016
build.gradle Update to Testcontainers 1.9.1 Sep 27, 2018
docker-compose-at.yml
docker-compose-javaworker.yml updating compose files to v3 Jan 24, 2017
docker-compose-selenium.yml
docker-compose-simple.yml updating compose files to v3 Jan 24, 2017
docker-compose.yml
docker-stack.yml Update replicas to 1 in result service Jan 31, 2017
dockercloud.yml Fix image names in dockercloud.yml Jun 18, 2016
gradlew Working Selenium setup Mar 21, 2017
gradlew.bat Working Selenium setup Mar 21, 2017
settings.gradle

README.md

Example Voting App

Getting started

Download Docker. If you are on Mac or Windows, Docker Compose will be automatically installed. On Linux, make sure you have the latest version of Compose.

Run in this directory:

docker-compose up

The app will be running at http://localhost:5000, and the results will be at http://localhost:5001.

Alternately, if you want to run it on a Docker Swarm, first make sure you have a swarm. If you don't, run:

docker swarm init

Once you have your swarm, in this directory run:

docker stack deploy --compose-file docker-stack.yml vote

Architecture

Architecture diagram

  • A Python webapp which lets you vote between two options
  • A Redis queue which collects new votes
  • A .NET worker which consumes votes and stores them in…
  • A Postgres database backed by a Docker volume
  • A Node.js webapp which shows the results of the voting in real time

Note

The voting application only accepts one vote per client. It does not register votes if a vote has already been submitted from a client.

You can’t perform that action at this time.