Linux users could access host services by using the IP address of the default bridge. The way Docker was setting up the networking offered that. Windows / Mac users also needed to access the host but the networking there had more complexity because of the different OS. So Docker for Windows / Mac introduced this host.docker.internal thing.