🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
Docker port 55555 not available on Windows
The Solace Messaging Format (SMF) protocol uses port 55555 as default (and 55003 for compressed, and 55443 for TLS). I occasionally run into a situation where Docker Desktop for Windows won't start my Solace container in WSL2 because of some blocked port. I get this:
$ docker start solace99 Error response from daemon: Ports are not available: listen tcp 0.0.0.0:55555: bind: An attempt was made to access a socket in a way forbidden by its access permissions. Error: failed to start containers: solace99
This kind of similar to an issue with iOS Big Sur where it has reserved the port, but luckily in Windows you can reserve it yourself! 👍
The way around this is to add the port to the list of "excluded ports" so that it can't be used by Windows. My reference was here: https://stackoverflow.com/questions/5254330/reserve-a-tcp-port-in-windows
- Open up a PowerShell console as Administrator
- Simply type in:
netsh int ipv4 add exclude proto=tcp start=55555 num=1
This is shorthand for:netsh interface ipv4 add excludedportrange protocol=tcp startport=55555 numberofports=1
PS C:\Windows\system32> netsh int ipv4 add exclude proto=tcp start=55555 num=1 Ok. PS C:\Windows\system32>
You can run the same command for other ports if you want (e.g. 55003, 55443, etc.). Then you can use: netsh int ipv4 show exclude proto=tcp
to see the changes that were done:
PS C:\Windows\system32> netsh int ipv4 show exclude proto=tcp Protocol tcp Port Exclusion Ranges Start Port End Port ---------- -------- 50000 50059 * <-- not sure who configured that one? 55003 55003 * <-- compressed SMF 55443 55443 * <-- secure SMF 55555 55555 * <-- default SMF 57982 58081 58082 58181 61476 61575 61580 61679 61786 61885 61886 61985 61986 62085 62086 62185 63503 63602 63603 63702 * - Administered port exclusions.
Hope that helps!
p.s. you can always add a ?
at any point in the netsh
command to get help at each level.