Collection of deploy scripts of a docker-swarm to different (local- & cloud-)providers, using differrent tools such as bash, Vagrant, Ansible, Terraform.
- Summary
- Scenarios
- Install
- Tools being used
- Comparison of the different approaches used
- About
- License
(TOC generated by verb using markdown-toc)
This repository contains different implementation approaches how to deploy docker-swarm to various environments respectively cloud-providers, using different tooling.
All implementation scenarios follow the "voting-app" example Docker has provided: https://docs.docker.com/engine/getstarted-voting-app/
All scenarios are created in a generic, re-usable way. Switching from deploying the voting-app to your services, should be pretty easy and straightforward.
Caution: I am by no means an expert in this area. Working on the different scenarios primarily helped me to test the different approaches as a novice in this area. Therefore any contribution, comment or PR is highly welcome.
- Local deployment to VirtualBox using bash only (./local-bash)
- Local deployment to VirtualBox using Vagrant only (./local-vagrant)
- Deployment to DigitalOcean using Packer & Terraform (./do-packer-terraform)
- Local deployment using the Docker-in-docker (DinD) approach
- Deployment to DigitalOcean using bash only
- Deployment to DigitalOcean using Vagrant & bash
- Using rancher to deploy locally (?)
- Using rancher to deploy to DigitalOcean
- Deployment to AWS using Vagrant only
Local deployment to VirtualBox using Vagrant/Ansible (./local-vagrant-ansible)Deployment to DigitalOcean using Vagrant only (./do-vagrant)Deployment to DigitalOcean using Vagrant/Ansible (./do-vagrant-ansible)
The scenarios above were started, but discontinued for various reasons.
Note: Scenarios not being linked to a solution are not started, finished, or just do not work, yet.
Clone the GitHub repository , install the required tools and enjoy:
$ git clone https://github.com/stefanwalther/deploy-docker-swarm
Different tools have been used in the different scenarios, which also allows to compare the different approaches:
Have a look at the README of the corresponding scenario to understand which of the tools are needed.
Comments, Issues and PR are highly welcome.
Stefan Walther
MIT