dind-swarm-worker
dind-swarm-worker
Docker-Anwendung from Josh.5's Repository
Übersicht
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"
}
}
}
Laufzeit-Argumente
- Netzwerk
eth0- Shell
bash- Privilegiert
- true
- Extra Params
--gpus=1 --hostname='Tower' --add-host='Tower:127.0.0.1'
Konfiguration der Vorlage
Path: CertificatePathrw
- Ziel
- /certs
- Standard
- /mnt/user/system/dind-swarm-worker/certs
- Wert
- /mnt/user/system/dind-swarm-worker/certs
Path: Docker storagePathrw
- Ziel
- /var/lib/docker
- Standard
- /mnt/user/system/dind-swarm-worker/var/
- Wert
- /var/lib/docker/dind-var/dind-swarm-worker
Path: Docker configPathrw
- Ziel
- /etc/docker
- Standard
- /mnt/user/system/dind-swarm-worker/etc
- Wert
- /mnt/user/system/dind-swarm-worker/etc
Force Insecure TCPVariable
Expose tcp://0.0.0.0:2375 even when TLS is enabled on 2376.
- Ziel
- DOCKER_FORCE_INSECURE_TCP
- Standard
- false
- Wert
- false
Path: /mntPathrw
Provides direct access to the mounted disks
- Ziel
- /mnt
- Wert
- /mnt
TimezoneVariable
Container timezone.
- Ziel
- TZ
- Standard
- Etc/UTC
- Wert
- Etc/UTC
Nvidia GPU UUIDVariable
For users with multiple GPUs, add the ID found under the
- Ziel
- NVIDIA_VISIBLE_DEVICES
- Standard
- all
- Wert
- all
Driver CapabilitiesVariable
- Ziel
- NVIDIA_DRIVER_CAPABILITIES
- Standard
- all
- Wert
- all
Kategorien
Einzelheiten
Repository
ghcr.io/josh5/ubuntu-dind:latestZuletzt aktualisiert2026-06-02
Erstmals gesehen2026-01-21
Führen Sie dind-swarm-worker auf Unraid aus.
dind-swarm-worker ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.