Docker Compose(如流浪汉)专用可寻址IP 问题

Docker Compose(如流浪汉)专用可寻址IP 问题,docker,docker-compose,vagrant,docker-networking,docker-network,Docker,Docker Compose,Vagrant,Docker Networking,Docker Network,我正在使用Docker Compose,希望为其中一个容器设置一个本地可寻址IP(如10.1.1.100)。此IP不在主机的子网中 流浪风格 在一个类似的流浪者项目中,有一行: config.vm.network :private_network, ip: "10.1.2.100" 这在那个项目中非常有效。我可以将机器定位在10.1.2.100上,就像它是我网络上的可用IP一样。我甚至不需要创建子网 问题: 我一直在寻找如何使用Docker(特别是Docker Compose)设置一个具有本地

我正在使用Docker Compose,希望为其中一个容器设置一个本地可寻址IP(如10.1.1.100)。此IP不在主机的子网中

流浪风格 在一个类似的流浪者项目中,有一行:

config.vm.network :private_network, ip: "10.1.2.100"
这在那个项目中非常有效。我可以将机器定位在
10.1.2.100
上,就像它是我网络上的可用IP一样。我甚至不需要创建子网

问题: 我一直在寻找如何使用Docker(特别是Docker Compose)设置一个具有本地可寻址IP的容器,但一直无法使其工作

失败的配置 我已尝试添加
网络
,并分配了一个静态IP,地址为
ipv4\u:10.1.1.100
。不幸的是,整个网络似乎只能通过Docker本身访问,而不能通过主机访问

如果我尝试使用
端口
将IP公开为
10.1.1.100:80:80
,则会出现以下错误:

无法启动服务\u名称:端口不可用:侦听tcp 10.1.1.100:80:绑定:无法分配请求的地址

但是,如果我简单地把
80:80
放进去,这就行了。因此,一定是IP绑定导致了这个问题

我还尝试仅在该服务上设置
network\u模式
,但
主机
网桥
都不能正常工作

最后,我发现我可以添加到驱动程序选项中:

com.docker.network.bridge.host_binding_ipv4: "10.1.1.100"

这使得无法启动容器,类似于我在使用
端口
方法时收到的相同错误。

检查这一点是的,这些都不起作用;尤其不是被广泛接受的答案:/。在大多数环境中,您无法从Docker外部访问容器专用IP地址。相反,您需要从容器发布特定的
端口:
,您可以通过主机的IP地址访问它们。Vagrant基于VM的网络设置完全不同。我的观点是,Vagrant允许访问容器专用IP,至少是暴露的IP,即使使用Docker容器。他们已经想出了一些办法。