dind-swarm-worker
dind-swarm-worker
Application Docker from Josh.5's Repository
Vue d'ensemble
Configure Unraid as a Docker Swarm worker using Docker-in-Docker.
This container runs a dedicated Docker Engine inside Unraid, allowing you to join a Swarm without modifying the host Docker daemon.
Prerequisites (Unraid + macvlan):
- In Unraid, open Settings - Docker.
- Stop Docker, then set "Docker custom network type" to macvlan.
- Enable a custom network on eth0 (e.g., "br0" or "eth0" depending on your setup).
- Assign a fixed IP in the Unraid Docker template (matches the MyIP field). This IP must be
free on your LAN and outside your DHCP pool. - Start Docker again.
Template configuration notes:
- Privileged: recommended for best compatibility with nested containers and features like
overlay networking. Not strictly required, but some inner containers may fail without it. - Hostname and /etc/hosts: update ExtraParams to set a meaningful hostname and host entry:
--hostname='Tower' --add-host='Tower:127.0.0.1'
Replace "Tower" with your Unraid server name or desired node name. - ExtraParams: you can remove --gpus=1 if you do not want GPU access, or set it to a
specific GPU UUID.
After container start (joining the Swarm):
- On your Swarm manager node, generate a worker join token:
docker swarm join-token worker - Copy the join command that it outputs. It looks like:
docker swarm join --token TOKEN MANAGER_IP:2377 - Enter the container console (or use docker exec) and run the join command inside this
container. - Verify on the manager:
docker node ls
You should see this node listed as a worker.
Optional:
- If you want the inner Docker daemon to persist data, ensure the /var/lib/docker path maps
to a stable storage path as configured in the template. - For TLS client certs or custom daemon config, use the mapped /certs and /etc/docker paths.
- You can set the default runtime by writing /etc/docker/daemon.json in the bound config path
(Path: Docker config). Example:
{
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
}
Arguments d'exécution
- Réseau
eth0- Coquille
bash- Privilégié
- true
- Paramètres supplémentaires
--gpus=1 --hostname='Tower' --add-host='Tower:127.0.0.1'
Configuration du modèle
Path: CertificatePathrw
- Cible
- /certs
- Défaut
- /mnt/user/system/dind-swarm-worker/certs
- Valeur
- /mnt/user/system/dind-swarm-worker/certs
Path: Docker storagePathrw
- Cible
- /var/lib/docker
- Défaut
- /mnt/user/system/dind-swarm-worker/var/
- Valeur
- /var/lib/docker/dind-var/dind-swarm-worker
Path: Docker configPathrw
- Cible
- /etc/docker
- Défaut
- /mnt/user/system/dind-swarm-worker/etc
- Valeur
- /mnt/user/system/dind-swarm-worker/etc
Force Insecure TCPVariable
Expose tcp://0.0.0.0:2375 even when TLS is enabled on 2376.
- Cible
- DOCKER_FORCE_INSECURE_TCP
- Défaut
- false
- Valeur
- false
Path: /mntPathrw
Provides direct access to the mounted disks
- Cible
- /mnt
- Valeur
- /mnt
TimezoneVariable
Container timezone.
- Cible
- TZ
- Défaut
- Etc/UTC
- Valeur
- Etc/UTC
Nvidia GPU UUIDVariable
For users with multiple GPUs, add the ID found under the
- Cible
- NVIDIA_VISIBLE_DEVICES
- Défaut
- all
- Valeur
- all
Driver CapabilitiesVariable
- Cible
- NVIDIA_DRIVER_CAPABILITIES
- Défaut
- all
- Valeur
- all
Catégories
Détails
Référentiel
ghcr.io/josh5/ubuntu-dind:latestDernière mise à jour2026-05-31
Première vue2026-01-21
Exécutez dind-swarm-worker sur Unraid.
dind-swarm-worker est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.