Cannot start a container

I ran this

docker run --name mysql-8.0.40 -e MYSQL_ROOT_PASSWORD=root -p 3308:3306 -d mysql:8.0.40-debian

and keep having this error

docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3308 -> 0.0.0.0:0: listen tcp 0.0.0.0:3308: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

it does create a container, but i cannot start it, it seems like i started it when i click restart, but it still doesn’t work in mysql

when i click start the container, this message appear in docker

(HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:3308 -> 0.0.0.0:0: listen tcp 0.0.0.0:3308: bind: An attempt was made to access a socket in a way forbidden by its access permissions

it show the same error when i change the port to 3307 or 3308
I have tried starting the service, restarting the computer, run as administrator, update docker, restart desktop, reset factory, reinstall docker, but nothing work

i also tried to find the process with port 3306 with

netstat -ano | findstr :3306

but nothing show up

Anyone know how to fix it? should i try reinstall mysql as well?

It could be Windows related. You can find similar issues not related to Docker saying it was caused by a firewall.
Since by default ports are forwarded from all ip addresses, you could try specifing a loopback IP.

docker run --name mysql-8.0.40 -e MYSQL_ROOT_PASSWORD=root -p 127.0.0.1:3308:3306 -d mysql:8.0.40-debian