deploy-docker-swarm icon indicating copy to clipboard operation
deploy-docker-swarm copied to clipboard

Deploy scripts for docker-swarm.

deploy-docker-swarm

Collection of deploy scripts of a docker-swarm to different (local- & cloud-)providers, using differrent tools such as bash, Vagrant, Ansible, Terraform.

TOC

  • Summary
  • Scenarios
    • Fully working
    • In progress
    • Investigating
    • Omitted
  • Install
  • Tools being used
  • Comparison of the different approaches used
  • About
    • Contributing
    • Author
  • License

(TOC generated by verb using markdown-toc)

Summary

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.

Scenarios

Fully working

  • Local deployment to VirtualBox using bash only (./local-bash)
  • Local deployment to VirtualBox using Vagrant only (./local-vagrant)

In progress

  • Deployment to DigitalOcean using Packer & Terraform (./do-packer-terraform)

Investigating

  • 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

Omitted

  • ~~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.

Install

Clone the GitHub repository , install the required tools and enjoy:

$ git clone https://github.com/stefanwalther/deploy-docker-swarm

Tools being used

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.

Comparison of the different approaches used

  • Comparison

About

Contributing

Comments, Issues and PR are highly welcome.

Author

Stefan Walther

License

MIT