如何从w10 pc到networking主机的docker集装箱?

我正在开发一个大的体系结构,分解成部分。

每个部分使用服务(例如:redis)和其他项目。

我设置了一个环境,我可以在Docker容器中使用适当的端口映射运行所需的所有服务,以便重复的服务不会发生冲突。

现在,如果我直接在我的电脑上运行我自己的架构,这一切都很好。 但是现在我在/作为docker集装箱(准备生产)运行我的架构,并试图在我的系统中运行这些。 首先他们无法到达已经设置的容器(服务)。 这我通过运行我自己的架构docker容器解决 – – --network host

现在,我的所有容器都运行良好,但是当我转到http://localhost:80 (其中一个容器正在端口80上运行)时,似乎无法find它们。 其他端口上的其他容器也是这样不可达的。 我做错什么了吗? 有没有办法达到他们?

即时通讯运行在Windows 10专业版的Docker。 (注:docker1.12.5,以某种方式更新到1.12.6崩溃)

使用 – --network host只需将主机的networking接口连接到容器。 它不一定允许通过系统防火墙的端口stream量。

如果绑定了容器端口,比如运行带有-p <host_port>:<container_port> ,那么Doc​​ker应该相应地调整防火墙规则,使其全部工作。 (当容器停止时,它应该自行清理。)

或者,您可以使用Docker覆盖networking,在这种情况下通常是build议的解决scheme。

首先,为您的应用程序创build一个networking。

 docker network create myapp 

然后,告诉每个容器使用该networking。

 docker run --network myapp <other options...>