ec552567c7
* Docker Desktop Development Environments config * Use cache volumes for pip * Upgrade from Python 3.7 -> Python 3.10 * Use port `8000` to avoid conflicts with Airplay on macOS for default Flask port `5000` * Use `SIGINT` to gracefully stop Flask Signed-off-by: Milas Bowman <milas.bowman@docker.com> |
||
---|---|---|
.github | ||
angular | ||
apache-php | ||
aspnet-mssql | ||
django | ||
elasticsearch-logstash-kibana | ||
fastapi | ||
flask | ||
flask-redis | ||
gitea-postgres | ||
minecraft | ||
nextcloud-postgres | ||
nextcloud-redis-mariadb | ||
nginx-aspnet-mysql | ||
nginx-flask-mongo | ||
nginx-flask-mysql | ||
nginx-golang | ||
nginx-golang-mysql | ||
nginx-golang-postgres | ||
nginx-nodejs-redis | ||
nginx-wsgi-flask | ||
pihole-cloudflared-DoH | ||
plex | ||
portainer | ||
postgresql-pgadmin | ||
prometheus-grafana | ||
react-express-mongodb | ||
react-express-mysql | ||
react-java-mysql | ||
react-nginx | ||
react-rust-postgres | ||
sparkjava | ||
sparkjava-mysql | ||
spring-postgres | ||
traefik-golang | ||
vuejs | ||
wireguard | ||
wordpress-mysql | ||
.gitattributes | ||
awesome-compose.jpg | ||
CONTRIBUTING.md | ||
dev-envs.png | ||
LICENSE | ||
MAINTAINERS | ||
README.md |
Awesome Compose
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.
Note:
The following samples are intended for use in local development environments such as project setups, tinkering with software stacks, etc. These samples must not be deployed in production environments.
Contents
- 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.Elasticsearch / Logstash / Kibana
- Sample Elasticsearch, Logstash, and Kibana stack.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 / ASP.NET / MySQL
- Sample Nginx reverse proxy with an C# backend using ASP.NETNGINX / 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 / Node.js / Redis
- Sample Node.js application with Nginx proxy and a Redis databaseNGINX / Go
- Sample Nginx proxy with a Go backend.NGINX / WSGI / Flask
- Sample Nginx reverse proxy with a Flask backend using WSGI.PostgreSQL / pgAdmin
- Sample setup for postgreSQL database with pgAdmin web interfacePython / Flask / Redis
- Sample Python/Flask and a Redis databaseReact / 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 / Express / MongoDB
- Sample React application with a Node.js backend and a Mongo database.React / Rust / PostgreSQL
- Sample React application with a Rust backend and a Postgres database.React / Nginx
- Sample React application with Nginx.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
Pi-hole / cloudflared
- Sample Pi-hole setup with use of DoH cloudflared servicePrometheus / Grafana
Wordpress / MySQL
Getting started
These instructions will get you through the bootstrap phase of creating and deploying samples of containerized applications with Docker Compose.
Prerequisites
- 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 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
Check the README.md
of each sample to get more details on the structure and
what is the expected output.
To stop and remove all containers of the sample application run:
docker compose down
Contribute
We welcome examples that help people understand how to use Docker Compose for common applications. Check the Contribution Guide for more details.