Created
April 28, 2016 13:06
-
-
Save jianchen2580/28f6b5ad77a1b3db8722139fb7f69055 to your computer and use it in GitHub Desktop.
This file contains hidden or 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
# create consul node | |
docker-machine create -d virtualbox consul | |
# Run consul on consul node | |
eval $(docker-machine env consul) | |
docker run -d -p 8500:8500 --name=consul progrium/consul -server -bootstrap | |
# Create master node, user eth1 here because eth0 is for NAT, eth1 for bridge | |
docker-machine create -d virtualbox \ | |
--swarm --swarm-master \ | |
--swarm-discovery="consul://$(docker-machine ip consul ):8500" \ | |
--engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" \ | |
--engine-opt="cluster-advertise=eth1:2376" \ | |
manager | |
# Create node1 & node2 | |
docker-machine create -d virtualbox \ | |
--swarm \ | |
--swarm-discovery="consul://$(docker-machine ip consul ):8500" \ | |
--engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" \ | |
--engine-opt="cluster-advertise=eth1:2376" \ | |
node1 | |
docker-machine create -d virtualbox \ | |
--swarm \ | |
--swarm-discovery="consul://$(docker-machine ip consul ):8500" \ | |
--engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" \ | |
--engine-opt="cluster-advertise=eth1:2376" \ | |
node2 | |
# create node3 and join swarm cluster manually | |
docker-machine create -d virtualbox node3 | |
docker run -d swarm join --advertise=$(docker-machine ip node3):2376 consul://$(docker-machine ip consul):8500 | |
# show swarm cluster info | |
eval $(docker-machine env -swarm manager) | |
docker info | |
# run container on cluster, Swarm currently supports three strategy: spread, binpack, random | |
eval $(docker-machine env -swarm manager) | |
docker run -it --rm busybox | |
docker run -it --rm --env="constraint:node==node1" busybox | |
# create overlay(vxlang): https://en.wikipedia.org/wiki/Virtual_Extensible_LAN | |
docker network create --driver overlay --subnet=10.0.8.0/24 swarm-test | |
docker run -it --rm --net=swarm-test --env="constraint:node==node1" busybox | |
docker run -it --rm --net=swarm-test --env="constraint:node==node2" busybox | |
docker run -it --rm --net=swarm-test --env="constraint:node==node3" nginx | |
docker run -it --rm --net=swarm-test --env="constraint:node==node2" --name=bba busybox | |
# https://docs.docker.com/compose/swarm/#limitations |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment