Skip to content

Published UDP port intermittently loses Windows listener while Docker port mapping remains #579

Description

@oreoft

Bug report

Bug description

A published UDP port intermittently stops working on Docker Desktop for Windows.

The container remains running, and Docker still reports the UDP port mapping:

docker port hysteria-server
30001/udp -> 192.168.1.102:30001

However, during the failure, the Windows-side UDP endpoint disappears:

Get-NetUDPEndpoint -LocalPort 30001 -ErrorAction SilentlyContinue

This returns no output.

PktMon confirms that UDP packets still arrive at Windows, but Windows drops them with:

INET: transport endpoint was not found
Port unreachable

At the same time, the container receives no UDP packets (InDatagrams = 0).

Restarting only the container immediately restores the listener:

docker restart hysteria-server

After restart:

192.168.1.102:30001 -> com.docker.backend.exe

The service then works normally again.

com.docker.backend.exe itself did not restart when the listener disappeared, so it appears that Docker Desktop loses the Windows-side UDP listener while the Docker port mapping metadata remains.

Diagnostics ID captured while the problem was occurring:

0B470950-1432-46FB-ACF5-40237DE288A0/20260808155058

Reproduction steps

  1. Run a long-running UDP/QUIC service:

docker run -d --name hysteria-server
--restart always -p 192.168.1.102:30001:30001/udp
--mount type=bind,source="C:\Users\admin\hysteria",target=/etc/hysteria tobyxdd/hysteria:latest
server -c /etc/hysteria/config.yaml

  1. The UDP port initially works normally.
  2. After running for some time, the service becomes unreachable.
  3. docker port hysteria-server still reports the UDP mapping.
  4. Get-NetUDPEndpoint -LocalPort 30001 returns nothing.
  5. Restarting the container recreates the Windows UDP endpoint and immediately restores connectivity.

The problem has reproduced multiple times.

Platform

Windows

Version information

Docker Desktop: 4.84.0 (234817)
Docker Engine: 29.6.2

Windows: 10.0.22631.6060

WSL: 2.5.7.0
Kernel: 6.6.87.1-1

Previously also reproduced with:
WSL 2.7.10.0
Kernel 6.18.33.2-2

Container image: tobyxdd/hysteria:latest
Hysteria: v2.11.0

Network mode: bridge
Published UDP port:
192.168.1.102:30001 -> container 30001/udp

Diagnostics ID

0B470950-1432-46FB-ACF5-40237DE288A0/20260808155058

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions