Last active
January 3, 2018 19:47
-
-
Save tylerthebuildor/9400664232383f18dc1905335fc5e0a1 to your computer and use it in GitHub Desktop.
Provision Docker Swarm on Digital Ocean
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
# Must fill these values out for the script to work | |
droplet_name="" | |
digitalocean_access_token="" | |
# For more info check out: | |
# Dockers Machine Digital Ocean Driver: https://docs.docker.com/machine/drivers/digital-ocean/#options | |
# Docker Swarm: https://docs.docker.com/engine/swarm/ | |
# Create droplet | |
docker-machine create \ | |
--driver digitalocean \ | |
--digitalocean-access-token $digitalocean_access_token \ | |
--digitalocean-region sfo1 \ | |
--digitalocean-size 1gb \ | |
$droplet_name | |
# Add local SSH key to remote authorized_keys (optional) | |
cat ~/.ssh/id_rsa.pub | (docker-machine ssh $droplet_name "cat >> ~/.ssh/authorized_keys") | |
docker-machine ssh $droplet_name "cat ~/.ssh/authorized_keys" | |
# Initialize Swarm | |
ip=$(docker-machine ip $droplet_name) | |
docker-machine ssh $droplet_name "docker swarm init --advertise-addr $ip" | |
# Register Swarm to Docker Cloud | |
docker-machine ssh $droplet_name "docker run -i --rm -v /var/run/docker.sock:/var/run/docker.sock dockercloud/registration" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment