docker compose reverse port map without using Host network driver (--net=host) - eviltoast

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)

  • Morethanevil@lemmy.fedifriends.social
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    4 months ago

    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.