A simple distributed application running across multiple Docker containers.
Download Docker Desktop for Mac or Windows. Docker Compose will be automatically installed. On Linux, make sure you have the latest version of Compose.
The Linux stack uses Python, Node.js, .NET Core (or optionally Java), with Redis for messaging and Postgres for storage.
-
A front-end web app in Python or ASP.NET Core which lets you vote between two options
Docker Image: dockersamples/examplevotingapp_vote:before
-
A Redis or NATS queue which collects new votes
Docker Image: redis
-
A .NET Core, Java or .NET Core 2.1 worker which consumes votes and stores them inβ¦
Docker Image: dockersamples/examplevotingapp_worker
-
A Postgres or TiDB database backed by a Docker volume
Docker Image: postgres
-
A Node.js or ASP.NET Core SignalR webapp which shows the results of the voting in real time
Docker Image: dockersamples/examplevotingapp_result:before
The voting application only accepts one vote per client. It does not register votes if a vote has already been submitted from a client.