How to Connect to the Localhost of the Machine from inside of a Docker Container?

Better Stack Team
Updated on August 1, 2022

If you are running some kind of a server or any other service (such as a database) on localhost and the service isn’t exposing any port, you may have found yourself wondering how to connect to this service within the docker container. Here is how to do it.

Docker for Windows and Mac

If you are running Docker for Windows or Docker for Mac (version 18.03 or newer), you can use the host.docker.internal address instead of 127.0.0.1 in your connection strings.

Docker for Linux

If you are using Docker for Linux (version 20.10.0 or newer), you can also use the host.docker.internal address, if you started docker with the -add-host host.docker.internal:host-gateway option. See the example below:

 
docker run -d --add-host host.docker.internal:host-gateway <container>:latest

Another option (which works only on Linux) is to add -network="host” option in your docker run command. This will ensure that localhost will be pointing to your docker host.

 
docker run -d --network=host <container>:latest
Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

We are hiring.

Software is our way of making the world a tiny bit better. We build tools for the makers of tomorrow.

Explore all positions →