Sometimes I get the error message:
docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint infallible_kapitsa (c7baca25c4e65da8aa6e592e7fb9ed81c0f55a3f7891e93c62a79819007f4e61): Error starting userland proxy: listen tcp 0.0.0.0:1234: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.

The reason is, that Docker cannot bind the requested port (in may case port 1234). Since a while Hyper-V seems to block some ports exclusively and you get this error:

docker run -p 1234:80 nginx
docker: Error response from daemon: driver failed programming external connectivity on endpoint thirsty_feistel (d67c95aff29ae75aaae54a0a439fd5211ff76482009ef36e0caef9237d5337e9): Error starting userland proxy: listen tcp 0.0.0.0:1234: bind: Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig.

But you can check the blocked ports in the CMD and get the range of the exclusive blocked ports:

netsh interface ipv4 show excludedportrange protocol=tcp

Start Port    End Port
----------    --------
      1026        1125
      1226        1325
      1326        1425
      1426        1525
      1526        1625
      1733        1832
      1933        2032
      2033        2132
      2180        2279
      2280        2379
      2382        2481
      2482        2581
      2683        2782
      2783        2882
     47001       47001
     50000       50059     *

* - Administered port exclusion.

The easiest way is to switch to another port, if you start your docker container. If you need a special port and it is blocked, you maybe need this workaround: https://github.com/docker/for-win/issues/3171#issuecomment-459205576.