Docker image to forward all traffic to the docker host
- uses dns entry
host.docker.internal
if available - or default gateway as docker host
You can manually override the destination IP address by setting the environment variable DOCKER_HOST
.
This allows you to use this image to forward traffic to arbitrary destinations, not only the docker host.
bridge
network gateway in addition to localhost(127.0.0.1), if you want to reach them through docker-host container. Use following docker command to get the bride network gatway IP address docker network inspect bridge --format='{{( index .IPAM.Config 0).Gateway}}'
Simulate localhost webserver on port 8080.
docker run --name nginx -p 8080:80 \
-d nginx
Run the dockerhost container.
docker run --name 'dockerhost' \
--cap-add=NET_ADMIN --cap-add=NET_RAW \
--restart on-failure \
-d qoomon/docker-host
Run your application container and link the dockerhost container.
The dockerhost will be reachable through the domain/link dockerhost
of the dockerhost container e.g. dockerhost:8080
This example uses curl
as an application dummy.
docker run --rm \
--link 'dockerhost' \
appropriate/curl 'http://dockerhost:8080'
Create the dockerhost network.
network_name="Network-$RANDOM"
docker network create "$network_name"
Run the dockerhost container within the dockerhost network.
docker run --name "${network_name}-dockerhost" \
--cap-add=NET_ADMIN --cap-add=NET_RAW \
--restart on-failure \
--net=${network_name} --network-alias 'dockerhost' \
qoomon/docker-host
Run your application container within the dockerhost network.
The dockerhost will be reachable through the domain/network-alias dockerhost
of the dockerhost container e.g. dockerhost:8080
This example uses curl
as an application dummy.
docker run --rm \
--net=${network_name} \
appropriate/curl 'http://dockerhost:8080'
version: '2'
services:
dockerhost:
image: qoomon/docker-host
cap_add: [ 'NET_ADMIN', 'NET_RAW' ]
mem_limit: 8M
restart: on-failure
dummy:
depends_on: [ dockerhost ]
image: appropriate/curl
command: ["http://dockerhost:8080"]