https://github.com/stefanwalther/deploy-docker-swarm
Deploy scripts for docker-swarm.
https://github.com/stefanwalther/deploy-docker-swarm
ansible bash bash-script docker-compose docker-stack docker-swarm docker-swarm-mode sammler virtualbox
Last synced: 9 months ago
JSON representation
Deploy scripts for docker-swarm.
- Host: GitHub
- URL: https://github.com/stefanwalther/deploy-docker-swarm
- Owner: stefanwalther
- Created: 2017-03-06T17:47:55.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-31T19:24:38.000Z (about 7 years ago)
- Last Synced: 2025-04-03T17:54:33.676Z (9 months ago)
- Topics: ansible, bash, bash-script, docker-compose, docker-stack, docker-swarm, docker-swarm-mode, sammler, virtualbox
- Language: Ruby
- Homepage:
- Size: 479 KB
- Stars: 19
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# 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](#summary)
- [Scenarios](#scenarios)
* [Fully working](#fully-working)
* [In progress](#in-progress)
* [Investigating](#investigating)
* [Omitted](#omitted)
- [Install](#install)
- [Tools being used](#tools-being-used)
- [Comparison of the different approaches used](#comparison-of-the-different-approaches-used)
- [About](#about)
* [Contributing](#contributing)
* [Author](#author)
- [License](#license)
_(TOC generated by [verb](https://github.com/verbose/verb) using [markdown-toc](https://github.com/jonschlinkert/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/](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-bash)
- [Local deployment to VirtualBox using Vagrant only](./local-vagrant) (./local-vagrant)
### In progress
- [Deployment to DigitalOcean using Packer & Terraform](./do-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](https://github.com/stefanwalther/deploy-docker-swarm) , install the required tools and enjoy:
```sh
$ 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:
- [VirtualBox](https://www.virtualbox.org/)
- [Guest Additions for VirtualBox](https://docs.oracle.com/cd/E36500_01/E36502/html/qs-guest-additions.html)
- [Docker for Mac](https://docs.docker.com/docker-for-mac/) / [Docker for Windows](https://docs.docker.com/docker-for-windows/)
- [Vagrant](https://www.vagrantup.com/)
- [Ansible](https://www.ansible.com/)
- [Terraform](https://www.terraform.io/)
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](docs/comparison.md)
## About
### Contributing
Comments, Issues and PR are highly welcome.
### Author
**Stefan Walther**
* [github/stefanwalther](https://github.com/stefanwalther)
* [twitter/waltherstefan](http://twitter.com/waltherstefan)
## License
MIT