问题
I have windows 10 pro and I'm trying to run a docker with network mode host.
my issue is that I can't run a docker and access it using the host ip not 127.0.0.1 and not the ip (in linux it works differently).
looks like the hyper v has it's own network that not accessible using the host ip
docker run -d --network=host nginx
output:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8edd86bf292b nginx "nginx -g 'daemon of…" 3 seconds ago Up 2 seconds happy_curie
so there is no ports as expected but and no errors.
When I'm trying to open the browser using 127.0.0.1 I'm getting ERR_CONNECTION_REFUSED
if I set ports to instead of network mode host it is working
docker run -d -p 80:80 nginx
Hyper v Ethernet adapter vEthernet (DockerNAT):
Connection-specific DNS Suffix . :
IPv4 Address. . . . . . . . . . . : 10.0.75.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . .
Remarks:
- changing in the hyper v virtual switch manager the network to be external - not helping
- firewall is disabled
any idea how to work with network mode host in windows?
回答1:
Unfortunately host networking is not available for Docker for Windows and neither is macvlan networking. If you are not stuck on Hyper-V, consider using Docker Toolbox on Windows.
Quoted from: https://docs.docker.com/network/network-tutorial-host/#prerequisites
The host networking driver only works on Linux hosts, and is not supported on Docker for Mac, Docker for Windows, or Docker EE for Windows Server.
Also see the following related issues on GitHub:
- https://github.com/docker/for-win/issues/1644
- https://github.com/docker/for-win/issues/937
- https://github.com/docker/for-win/issues/543
- https://github.com/docker/for-mac/issues/2716
来源:https://stackoverflow.com/questions/48915458/windows-run-docker-with-network-host-and-access-with-127-0-0-1