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>
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
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>
My solution is to create a docker network with the macvlan driver connected to a bridge interface on the host. Then you make the database listen on the bridge or just leave it on all interfaces. Don't forget to configure the ips.
I can share my config later.
Put them on the same network
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.
Thanks for the tip
You have a lot of options: https://docs.docker.com/network/drivers/
What's specifically the issue with the host driver in this case?
I should elaborate. I want to switch from caddy to authentiks internal reverse proxy. By default authentik uses ports 9000 and 90443 and you have the option to change them to 80 and 443 via docker compose.
Using host mode throws a wrench in the ports and authentik is made of more than one container.
Have you tried the IP of the host? IIRC that should work.