Skip to content

Instantly share code, notes, and snippets.

@colebrooke
Created February 14, 2017 16:51
Show Gist options
  • Save colebrooke/2aff9cd4e31beabf11d08a6ac5c35a55 to your computer and use it in GitHub Desktop.
Save colebrooke/2aff9cd4e31beabf11d08a6ac5c35a55 to your computer and use it in GitHub Desktop.
Script to create a docker swarm
#!/bin/bash
# quick script to start a docker swarm
# Justin Miller
# 14-02-17
# pre-requisites:
# set up public key authentication on all nodes
# ensure docker-engine 1.13 is installed and can be used by the admin user
# define manager
MANAGER='10.240.10.85'
# define other nodes
NODES=(
'10.240.10.203'
'10.240.10.237'
# add other nodes here
)
# create swarm leader
ssh admin@$MANAGER "docker node ls && echo 'Node is already a swarm leader!' || docker swarm init --listen-addr $LEADER:2377"
# get join token
JOIN_TOKEN=$(ssh admin@$MANAGER "docker swarm join-token worker --quiet")
# join nodes
for NODE in ${NODES[*]}; do
ssh admin@$NODE "docker swarm join --token $JOIN_TOKEN $MANAGER:2377"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment