Skip to content

Instantly share code, notes, and snippets.

@nicobytes
Last active October 4, 2022 17:14
Show Gist options
  • Save nicobytes/b25d138838c074f57aad23675e8134c4 to your computer and use it in GitHub Desktop.
Save nicobytes/b25d138838c074f57aad23675e8134c4 to your computer and use it in GitHub Desktop.
Scale app with Docker Sawrm
  1. Create machines / nodes
node-01
node-02
node-03
  1. Update machine
apt-get update
apt-get upgrade -y
  1. Enable ports
ufw allow 22/tcp
ufw allow 2376/tcp
ufw allow 2377/tcp
ufw allow 7946/tcp
ufw allow 7946/udp
ufw allow 4789/udp
ufw reload
ufw enable
systemctl restart docker
  1. Check ports
lsof -i -P -n | grep LISTEN
netstat -tulpn | grep docker
  1. Init Swarm
docker swarm init --advertise-addr
docker swarm join-token manager
docker swarm join-token worker
  1. Create visualizer (optional)
docker service create \
--name=viz \
--publish=8080:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
dockersamples/visualizer

docker service ls
  1. Download repo (bad practice)
git clone repo
  1. Build and Deploy
docker-compose -f docker-compose.prod.yml build
docker stack deploy -c docker-compose.prod.yml prod-dashboard
docker service ls
  1. Scale service
docker service scale prod-dashboard_api=2

img

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment