Docker Swarm: UDP Port freigeben für einen Service

By | 21. Oktober 2017

Kennt ihr das, man bekommt eine Anforderung und denkt sich: Hey kein Thema, schon 100x so oder so ähnlich gemacht – schnell erledigt. So erging es mir mal wieder letztens, es sollte ein UDP Port für einen Docker Container exposed werden. Nutzt man keinen Docker-Swarm kann das ganz einfach mittels:

passieren. Problem: Beim „docker service create“ Befehl, mit welchem man einen Service mit X Repliken im Swarm startet, klappt das ganze nicht und wird mit einer Fehlermeldung bestätigt.

Nun hieß es tatsächlich mal wieder forschen, die Dokumentation hat an der Stelle nicht weitergeholfen – erst eine in den Tiefen des GitHub Repositorys vom Moby-Projekt wurde ich fündig. Es ist nicht die ideale Lösung aber es funktioniert.

Also wie exposed man nun einen UDP Port für einen Docker-Swarm Service bei der Nutzung eines Overlay-Networks? So:

Falls von euch jemand die entsprechende Stelle in der Docker Dokumentation zum Swarn findet: Ich freue mich über einen Hinweis, bis dahin hilft es ja vielleicht jemanden der mal das selbe erledigen muss.