如果我使用主机网络(--network host)运行坞容器,对于在容器中运行的任何服务,它们公开的端口都可以直接从主机访问,对吗?
我一直是这么想的,直到我在Windows下使用主机网络运行码头容器--
ip a s eth0显示我的容器IP地址是192.168.65.3。route | awk '/^default/ { print $2 }'给出了192.168.65.110.66.xx.xx。也就是说,容器IP地址和主机IP是完全不同的。不像https://www.metricfire.com/blog/understanding-dockers-net-host-option/说的那样。
无论如何,如果我在容器中运行任何服务,如何公开它们的端口,以便可以从主机直接访问它们?(我认为通过主机网络(--network host),您不再需要从一个容器映射到另一个主机)
thx
docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:23:10 2020
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683发布于 2020-08-01 22:39:05
Windows不支持主机网络:
host网络驱动程序仅在Linux主机上工作,在Desktop (用于Mac )、Desktop (用于Windows )或Docker (用于Windows )中不支持。
https://docs.docker.com/network/network-tutorial-host/
我建议将-p选项尝试到docker run,因为这在Windows上是受支持的。
另外,一个论坛用户建议在桥接模式下使用VirtualBox安装Linux,然后可以使用主机联网。YMMV
https://stackoverflow.com/questions/63210284
复制相似问题