如何从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>
,那么Docker应该相应地调整防火墙规则,使其全部工作。 (当容器停止时,它应该自行清理。)
或者,您可以使用Docker覆盖networking,在这种情况下通常是build议的解决scheme。
首先,为您的应用程序创build一个networking。
docker network create myapp
然后,告诉每个容器使用该networking。
docker run --network myapp <other options...>