Tag: dockernetworking

Docker用户定义的networking网关超时

我们在Ubuntu映像中有3个docker容器用于我们的产品。 在第一个容器中,有一个使用SOAP协议提供web服务的tomcat应用程序。 对于这个容器,我们已经创build了一个networking,使用下面的命令与其他容器中的静态IP进行通信: docker network create –driver=bridge –subnet=172.18.0.0/16 apinet 之后我们用下面的命令创build了我们的api: docker run –net apinet –ip 172.18.0.10 -d -p 8080:8080 api 在api中,服务正在返回大量数据,45秒后我们得到504网关超时错误。 我们试图使用api而没有指定用户定义的networking,并且我们成功地收到了响应数据。 但是,我们需要这个用户定义的networking给api一个静态IP。 反正有延长用户定义networking的网关超时值吗? 提前致谢。

docker,docker,撰写,networking:如何configuration?

我想组织dockernetworking来匹配这个scheme: 我已经创build了docker-compose文件,并且可以通过更改COMPOSE_PROJECT_NAME来运行多个容器组。 现在我想从每个组中的容器连接到主机。 我应该如何在主机上configuration服务,以及如何从容器连接到他? 我不想将主机端口暴露给Internet,它应该只能从容器中获得。

在docker堆栈中的全局部署服务上dynamic分配networking别名

我使用docker swarm,在每个swarm节点上运行couchbase。 将couchbase节点连接到couchbase群集时,节点必须知道群集上的每个节点(可达IP或主机名称)。 当客户端请求任何数据时,它向集群中的任何节点请求,并且该节点告诉客户端哪个节点具有该数据。 所以客户端去了被告知要求获取数据的节点。 相同的IP /主机名节点使用彼此之间的连接被发送到客户端,以便他们访问右侧节点上的数据。 因此,我不能告诉节点通过私有IP泊坞窗将它们分配给对方。 否则,他们会发送给客户这些私人IP访问正确的节点,所以客户端不会到达他们。 所以,我在堆栈的默认networking上为集群中的每个节点分配一个别名。 我将每个couchbase节点分配给与docker主机(swarm节点)具有相同主机名的别名。 因此,如果一个群节点可以通过couch1.example.com从互联网到达,则群集上的所有couchbase节点将通过别名couch1.example.com到达该节点,从而通过私有IP到达该节点。 然后,节点通过与客户端相同的主机名访问其他节点,所以没有问题。 但是这在理论上是我在实践中没有做到的。 由于我试图dynamic分配别名(参见下面的组合文件),但是我运行docker stack up命令的swarm主节点的相同别名被分配给每个节点。 我正在使用的撰写文件是这样的: version: '3.2' services: db: image: my.own.registry/database/couchbase:1.0.0 ports: – target: 8091 published: 8091 protocol: tcp mode: host – target: 8093 published: 8093 protocol: tcp mode: host – target: 11210 published: 11210 protocol: tcp mode: host networks: default: aliases: […]

如何更改docker默认networking?

我创build了一个新的dockernetworking(macvlan https://docs.docker.com/engine/userguide/networking/get-started-macvlan/ ) 在创build新容器时,如何告知docker将此networking用作默认(而不是桥接)? 我想为每一个新的集装箱都提供一个networking。

docker出口过滤/防火墙

现在我有多个internal标记networking的docker实例。 但是现在我需要允许dynamic访问某些出站端点(基于DNS和IP )。 有没有一种方法可以在docker (?)中完成这个出口过滤,如果不是,那么有没有其他解决scheme,然后自己创build和清理iptable规则? 另一个解决scheme是创build一个代理容器来引导所有stream量并进行过滤,但我宁愿不这样做。

如何在一台物理服务器内的两个dockernetworking之间使用防火墙

我想在物理服务器上使用像DMZ这样的dockernetworking和内部networking。 docker network create DMZ … docker network create Internal … 现在我想只允许3306 / tcp到内部stream量的DMZ。 我知道dockernetworking不允许每个networking互相访问,但实际上都可以通过网桥访问。 或者,我可以使用两个networking都可以访问的networking。 如果我可以在networking之间放置一个防火墙容器,或者在networking中的容器上使用防火墙服务,我想我可以制作虚拟DMZ和内部networking环境。 我试图在容器内使用firewalld,但它不起作用。 像DMZ和内部使用dockernetworking的一个很好的做法是什么? 我也想知道这个虫群的情况。 任何build议将受到欢迎!

docker无法在networkingbr1上创build端点xxx:networkingxxx不存在

当我创buildnetworking时,它可以正常工作。 [root@localhost ~]# docker run –net=br1 –ip=192.168.0.119 -ti –name=doc 328edcd84f1b /bin/bash [root@8f5c0179d86a /]# ping www.baidu.com PING www.a.shifen.com (115.239.210.27) 56(84) bytes of data. 64 bytes from 115.239.210.27 (115.239.210.27): icmp_seq=1 ttl=55 time=10.8 ms 但是当我重新启动主机(或重新启动泊坞窗),它没有启动容器 我显示networking的列表,它在那里,但错误消息告诉我,它不存在 我的docker版本是1.12.6 [root@localhost ~]# docker network ls NETWORK ID NAME DRIVER SCOPE e83fa9afc6af br1 bridge local 2fb7bed3e5ba bridge bridge local 984a5e65f182 host host […]

如何访问Docker中的公有IP为不同的容器

希望你一切顺利。 上一条信息: 我使用的是Docker版本17.06.0-ce和CentOS 7.3 我正在运行基于微服务的应用程序,我需要在不同的公共ips上运行docker容器。 端口绑定对我来说不是一个选项(IP:80:80),因为微型工作者在没有任何端口绑定的容器内运行。 他们只是从队列中提取数据,处理它并重新发送到队列中。 我需要在不同的公共平台上并行运行这些工作,以更快地运行这个过程。 我可以启动不同的容器与同一个工作人员应用程序集,但他们都在同一个公共IP(docker集装箱私人IP是不同的)监听。 我怎样才能运行不同的公有IP的容器? 感谢致敬

debugging错误:getaddrinfo ENOTFOUND与docker集装箱

我有两个共享Dockernetworking的Docker容器 docker network create my_net docker run –net=my_net –name x x-image docker run –net=my_net –name y y-image 我看到的错误是,即使这些容器在同一个dockernetworking中,我不能从HTTP访问另一个容器,我得到: Error: getaddrinfo ENOTFOUND xx:3040 我觉得这真的很令人惊讶。 当我运行docker ps时,这些容器启动并运行。 我还可以怎样debugging这个问题? 我没有想法。 当我运行docker ps ,名为x容器的PORTS条目是“3040 / tcp”。 好,所以我有一个线索。 当我运行docker logs x ,我看到: Error: listen EADDRNOTAVAIL 172.18.0.4:3040 所以我的问题是 – 当我的服务器试图收听该地址时,为什么会得到EADDRNOTAVAIL?

Dockernetworking在独立群体中没有被创build为“–attachable”

我build立了一个docker swarm,引用https://docs.docker.com/swarm/install-manual/#step-5-create-swarm-cluster 我开始了一个领事,一个经理和一个节点。 当我试图用命令创build一个未来容器的networking时, docker -H:4000 network create –attachable –driver overlay hyp-net 我得到错误说明 – “ – 可贴”需要API版本1.25,但Docker守护进程API版本是1.24 错误图像 当我检查我的swarmpipe理器的版本时,我看到docker API版本从1.30降级到1.24。 它不是我的主人或领事或节点,只是降低了swarm经理swarm版本的细节 所以我似乎无法控制经理降级,并在其上创build覆盖networking。 我在想什么? 在Docker版本的两台独立的机器上试了两次,分别是17.09.1-ce和17.06.0-ce。 任何帮助赞赏。