Hi guys quick question say you run a a application on your localhost (example lets say couchdb runing directly on localhost:3434 not in docker).
Now you have a docker container (say caddy, ngnix, etc). Is there a way to allow docker container to acess localhost:3434 WITHOUT using the Host network driver (–net=host)
Add this to the service in your docker-compose.yml
extra_hosts:
- host.docker.internal:host-gateway
Example:
services:
redis:
restart: always
container_name: redis
image: redis:7.2-alpine
extra_hosts:
- host.docker.internal:host-gateway
Then you can reach your host from inside the container via host.docker.internal:3434
host.docker.internal
is like your “localhost” on the host. It is a special DNS name.
Have you tried the IP of the host? IIRC that should work.
You can use the flag
–add-host myname=host-gateway
in your container “myname” will resolve as the IP of your host.
documentation at: https://docs.docker.com/reference/cli/docker/container/run/#add-host>
Put them on the same network