Skip to content
Example Docker Compose app using SQL Server as the backend
Branch: master
Clone or download
Pull request Compare This branch is 7 commits ahead, 136 commits behind dockersamples:master.
Type Name Latest commit message Commit time
Failed to load latest commit information.
result-app Update server.js Dec 1, 2016
voting-app Remove .pyc file Jun 3, 2016
worker Password more complex. Pull public image. Feb 3, 2017
.gitignore Add .gitignore to ignore future *.pyc Jun 3, 2016
MAINTAINERS Swapped out PostgreSQL for SQL Server Jun 12, 2016
docker-compose.yml Update docker-compose.yml Dec 1, 2016

Example Voting App

Details on root application: This is an example Docker app with multiple services. It is run with Docker Compose and uses Docker Networking to connect containers together. You will need Docker Compose 1.6 or later. More info at

Details on this fork: This fork replaces PostgreSQL with SQL Server as the backend database engine. The Java worker application now uses the JDBC driver from Microsoft.

The Node.js application now uses the open source tedious driver.

Currently this version has a SQL Server image from the SQL Server on Linux private preview in the docker-compose.yml file. In order to access that image, you need to be a participant in the SQL Server on Linux private preview.
Sign up here: Once you have access to the image, make sure that you run 'docker login' and login once to cache your credentials before you run 'docker-compose up'.

Currently, this version uses the new JSON query features of SQL Server 2016. There will be a new SQL Server 2016 Developer Edition container image published to Docker Hub soon!


  • A Python webapp which lets you vote between two options
  • A Redis queue which collects new votes
  • A Java worker which consumes votes and stores them in…
  • A SQL Server
  • A Node.js webapp which shows the results of the voting in real time


Run in this directory:

$ docker-compose up

The voting web app will be available on port 5000 on your Docker host, and the results web app will be on port 5001.

You can’t perform that action at this time.