Unable to share port 80 on mac with port 80 within container

docker: Error response from daemon: driver failed programming external connectivity on endpoint heuristic_williams (bc94cf8904ef10e40198e1e02dd07818d5af4104e340f6f35882a53393b8ef5e): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE).

I’m on a macOS Sierra 10.12.5
Docker community edition: Version 17.06.1-ce-mac24 (18950)
Channel: stable 54dc09c3e3

Steps to reproduce:

docker run -it -p 80:80 ubuntu:16.04 bash

Unable to find image 'ubuntu:16.04' locally
16.04: Pulling from library/ubuntu
d5c6f90da05d: Pull complete
1300883d87d5: Pull complete
c220aa3cfc1b: Pull complete
2e9398f099dc: Pull complete
dc27a084064f: Pull complete

Digest: sha256:34471448724419596ca4e890496d375801de21b0e67b81a77fd6155ce001edad
Status: Downloaded newer image for ubuntu:16.04

What have i tried?

I have tried running:

docker run -it -p 90:80 ubuntu:16.04 bash

This works but i am not sure why

Thank you for taking the time to read this

some other application on your mac is already using port 80

I think that is because MacOS have a default apache running that already uses the port 80.