Fully configurable manager/workers docker swarm VMs setup, included is a portainer stack yml if needed deployment
Arch linux ;) based
- Install and configure Vagrant Vagrant docs
cd
into this directorycd ./vagrant-docker-swarm
- Edit
Vagrantfile
to tweak config (ex: cpu, memory, node count etc) - run vagrant agent to standup the cluster
vagrant up
(might take some time ...) - check cluster status once all is complete
vagrant status
- SSH into any node by issuing command
vagrant ssh [node name]
, if node name is omitted primary node will be used (manager node is the primary node) - (OPTIONAL) deploy portainer to manage the cluster with a nice UI exposed at port
9000
How do I access the docker container running inside the VMs
This is done by making sure you have a port binding from container to host -p host:container
and accessing the container on the defined network from the Vagrantfile
(ip_mask
)
How to deploy Portainer
Portainer will be deployed as a stack using the included docker compose yml with steps below
- SSH into the manager node
vagrant ssh manager-1
- navigate to host shared folder
cd /vagrant
- deploy stack from file
docker stack deploy --compose-file=portainer-agent-stack.yml portainer