Moving to Docker Swarm

· 160 words · 1 minute read

I’m finally getting that new server cluster set up, and I decided to use Docker Swarm over Kubernetes for simplicity. The biggest factor was that I didn’t need to rewrite all of my compose files for all the services running. However, there are a few caveats:

  1. I didn’t configure swarm using Ansible. It was a complex hassle, so the swarm cluster was set up manually. That’s really not that big of a deal. However, things like the NFS share used for storage were set up using ansible.

  2. The compose files do’t transfer perfectly. For example: labels in docker-compose are under the service element.

services:
  whoami:
    image: containous/whoami:latest
    labels:
    - traefik.enable=true

When using docker swarm, they go under the deploy node like this:

services:
  whoami:
    image: containous/whoami:latest
    deploy:
      labels:
        - traefik.enable=true
  1. Traefik no longer auto-detects ports. You must specify them in the labels of the container.

That’s all for now, I’ll write some more as I have more experience with it.

Got thoughts? Share them by email.