Skip to content

Host network: Cannot access container port on host system with host network mode #6185

@neumann-nico

Description

@neumann-nico
  • I have tried with the latest version of Docker Desktop
  • I have tried disabling enabled experimental features
  • I have uploaded Diagnostics
  • Diagnostics ID: 04396BFA-5693-459C-8E26-2827491CDD7E/20220220142600

Expected behavior

When using the host network mode the port of the container should be accessible on the host system.

Actual behavior

Using docker run -p 80:80 nginx:latest I can access nginx through localhost:80.
But when I use the host network mode with docker run --network host nginx:latest I cannot access nginx on my Mac.
The problems could be verified by a friend of mine with the same configuration.

Information

  • macOS Version: 12.3
  • Intel chip or Apple chip: Apple M1 Pro
  • Docker Desktop Version: 4.6.0 (75818)

Output of /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check

Not sure why I get these errors, my docker images are starting fine.

❯ /Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
Starting diagnostics

[PASS] DD0027: is there available disk space on the host?
[PASS] DD0028: is there available VM disk space?
[PASS] DD0031: does the Docker API work?
[PASS] DD0004: is the Docker engine running?
[PASS] DD0011: are the LinuxKit services running?
[FAIL] DD0016: is the LinuxKit VM running? vm is not running: vm has not started
[PASS] DD0001: is the application running?
[PASS] DD0018: does the host support virtualization?
[FAIL] DD0017: can a VM be started? vm has not started: vm has not started
[PASS] DD0015: are the binary symlinks installed?
[PASS] DD0003: is the Docker CLI working?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0007: is the backend responding?
[PASS] DD0014: are the backend processes running?
[PASS] DD0008: is the native API responding?
[PASS] DD0009: is the vpnkit API responding?
[PASS] DD0010: is the Docker API proxy responding?
[PASS] DD0012: is the VM networking working?
[PASS] DD0032: do Docker networks overlap with host IPs?
[SKIP] DD0030: is the image access management authorized?
[PASS] DD0019: is the com.docker.vmnetd process responding?
[PASS] DD0033: does the host have Internet access?

Please investigate the following 1 issue:

1 : The test: can a VM be started?
    Failed with: vm has not started: vm has not started

The Docker engine runs inside a Linux VM. Therefore we must be able to start Virtual Machines.

Steps to reproduce the behavior

  1. Run docker run -p 80:80 nginx:latest -> I can access localhost:80
  2. Run docker run --network host nginx:latest -> I cannot access localhost:80

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions