A curated list of Docker Compose samples.
These samples provide a starting point for how to integrate different services using a Compose file and to manage their deployment with Docker Compose.
- Samples of Docker Compose applications with multiple integrated services.
- Single service samples.
- Basic setups for different platforms (not production ready - useful for personal use).
Samples of Docker Compose applications with multiple integrated services
ASP.NET / MS-SQL- Sample ASP.NET core application with MS SQL server database.
Go / NGINX / MySQL- Sample Go application with an Nginx proxy and a MySQL database.
Go / NGINX / PostgreSQL- Sample Go application with an Nginx proxy and a PostgreSQL database.
Java Spark / MySQL- Sample Java application and a MySQL database.
NGINX / Flask / MongoDB- Sample Python/Flask application with Nginx proxy and a Mongo database.
NGINX / Flask / MySQL- Sample Python/Flask application with an Nginx proxy and a MySQL database.
NGINX / Go- Sample Nginx proxy with a Go backend.
React / Spring / MySQL- Sample React application with a Spring backend and a MySQL database.
React / Express / MySQL- Sample React application with a Node.js backend and a MySQL database.
React / Rust / PostgreSQL- Sample React application with a Rust backend and a Postgres database.
Spring / PostgreSQL- Sample Java application with Spring framework and a Postgres database.
Single service samples
Basic setups for different platforms (not production ready - useful for personal use)
Gitea / PostgreSQL
Nextcloud / PostgreSQL
Nextcloud / Redis / MariaDB
Wordpress / MySQL
Prometheus / Grafana
These instructions will get you through the bootstrap phase of creating and deploying samples of containerized applications with Docker Compose.
- Make sure that you have Docker and Docker Compose installed
- Windows or macOS: Install Docker Desktop
- Linux: Install Docker and then Docker Compose
- Download some or all of the samples from this repository.
Running a sample
The root directory of each sample contains the
docker-compose.yaml which describes the configuration of service components. All samples can be run in a local environment by going into the root directory of each one and executing:
docker-compose up -d
README.md of each sample to get more details on the structure and what is the expected output. To stop and remove the all containers of the sample application run:
We welcome examples that help people understand how to use Docker Compose for common applications. Check the Contribution Guide for more details.