All Projects → francescou → Docker Continuous Deployment

francescou / Docker Continuous Deployment

Licence: mit
continuous deployment of a microservices application with Docker

Projects that are alternatives of or similar to Docker Continuous Deployment

Docker For All
Docker applied in development, devops, testing, product management etc.
Stars: ✭ 88 (-37.59%)
Mutual labels:  continuous-deployment, docker-compose, docker-swarm
Cintodeutilidadesdocker
My Docker templates repository 🐳 ☁️ 🐳
Stars: ✭ 74 (-47.52%)
Mutual labels:  microservices, docker-compose, docker-swarm
Dotnetcore Microservices Poc
Very simplified insurance sales system made in a microservices architecture using .NET Core
Stars: ✭ 1,304 (+824.82%)
Mutual labels:  microservices, docker-compose
Ecs Nginx Proxy
Reverse proxy for AWS ECS. Lets you address your docker containers by sub domain.
Stars: ✭ 93 (-34.04%)
Mutual labels:  continuous-deployment, nginx
Wordpressify
🎈 A build system designed to automate your WordPress development workflow.
Stars: ✭ 1,374 (+874.47%)
Mutual labels:  docker-compose, nginx
Docker Cloud Platform
使用Docker构建云平台,Docker云平台系列共三讲,Docker基础、Docker进阶、基于Docker的云平台方案。OpenStack+Docker+RestAPI+OAuth/HMAC+RabbitMQ/ZMQ+OpenResty/HAProxy/Nginx/APIGateway+Bootstrap/AngularJS+Ansible+K8S/Mesos/Marathon构建/探索微服务最佳实践。
Stars: ✭ 86 (-39.01%)
Mutual labels:  docker-compose, nginx
Docker Symfony
🐳 A docker multicontainer with NGINX, PHP7-FPM, MySQL and ELK (Elasticsearch Logstash and Kibana)
Stars: ✭ 1,305 (+825.53%)
Mutual labels:  docker-compose, nginx
Python Microservice Fastapi
Learn to build your own microservice using Python and FastAPI
Stars: ✭ 96 (-31.91%)
Mutual labels:  docker-compose, nginx
Gnes
GNES is Generic Neural Elastic Search, a cloud-native semantic search system based on deep neural network.
Stars: ✭ 1,178 (+735.46%)
Mutual labels:  microservices, docker-swarm
Docker Nginx Postgres Django Example
Example using Docker, Django, multiple Postgres databases, NginX, Gunicorn, pipenv, GitLab CI and tox.
Stars: ✭ 110 (-21.99%)
Mutual labels:  docker-compose, nginx
Docker Compose Ui
web interface for Docker Compose
Stars: ✭ 1,454 (+931.21%)
Mutual labels:  docker-compose, docker-swarm
Docker Nginx Gunicorn Flask Letsencrypt
Boilerplate code for setting up Nginx + Gunicorn + Flask + automated LetsEncrypt certificates (https) using docker-compose.
Stars: ✭ 117 (-17.02%)
Mutual labels:  docker-compose, nginx
Sanic Nginx Docker Example
Sanic + Nginx + Docker basic example
Stars: ✭ 77 (-45.39%)
Mutual labels:  docker-compose, nginx
Docker For Local Development
This project provides a basic Docker setup, for building a local development environment for Zend Expressive, and other PHP application development.
Stars: ✭ 74 (-47.52%)
Mutual labels:  docker-compose, nginx
Symfony 4 Docker Env
Docker Environment for Symfony. PHP-FPM, NGINX SSL Proxy, MySQL, LEMP
Stars: ✭ 119 (-15.6%)
Mutual labels:  docker-compose, nginx
Docker Nginx Php Mysql
Docker running Nginx, PHP-FPM, MySQL & PHPMyAdmin
Stars: ✭ 1,322 (+837.59%)
Mutual labels:  docker-compose, nginx
Graphql Microservices
Showcasing a graphql microservice setup
Stars: ✭ 68 (-51.77%)
Mutual labels:  microservices, docker-compose
Dockerfiles
lots of dockerfiles, based on alpine
Stars: ✭ 69 (-51.06%)
Mutual labels:  docker-compose, nginx
Docker Laravel
🐳 Docker Images for Laravel development
Stars: ✭ 101 (-28.37%)
Mutual labels:  docker-compose, nginx
Dockstation
DockStation is developer-centric application to managing projects based on Docker. Instead of lots of CLI commands you can monitor, configure, and manage services and containers using just a GUI.
Stars: ✭ 1,744 (+1136.88%)
Mutual labels:  docker-compose, docker-swarm

Continuous Deployment with Docker (swarm mode)

Description

This project shows a web application built using a microservices architecture.

There are two microservices:

  • rest-count implemented in Python (Flask microframework) using a Redis database
  • rest-ip implemented in Node.js (Express framework) using a MongoDB database

deployed as docker services on a swarm cluster

You can find additional information on my Slideshare presentation "Always be shipping"

Diagram

Prerequisites

Docker 17.06.0-ce

(see legacy tag if you're interested into the previous version for Docker 1.11 using docker-compose and consul.)

Getting started

run on a single node docker swarm cluster the following commands in terminal (the first time you have to wait for a few minutes to download the Docker base images), :

docker stack deploy -c docker-compose.yml cd

open your browser to http://127.0.0.1:8080/

you can check the services on http://127.0.0.1:8080/visualizer/

now edit rest-count/main.py (for example, you can increase the version to 1.1)

docker build -t francescou/rest-count:1.1 rest-count/

docker service update --image francescou/rest-count:1.1 cd_restcount

the updated microservice will be deployed with no downtime.

You can also modify the rest-ip microservice in the same way (see rest-ip/app.js).

Scaling microservices

this section will explain how to can scale up and down the docker services.

open your browser to http://127.0.0.1:8080/visualizer/. There you will find a rest-count service, running on two replicas. Execute

docker service scale cd_restcount=4

check again http://127.0.0.1:8080/visualizer/ to ensure that there are now four rest-count instance.

Make a few requests to http://127.0.0.1:8080/api/v1/count and then run docker service logs cd_restcount to see how requests are processed by different rest-count instances.

You can now scale down the rest-count service without having any down time, e.g.:

docker service scale cd_restcount=2

Again, you can check http://127.0.0.1:8080/visualizer/ to see that there are now only two instances.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].