Tag: networking应用程序

Somtimesdocker集装箱dns失败

有时我的docker容器不能解决的DNS .. [root@1397f4b5b0b8 ~]# ping google.co.kr ping: unknown host google.co.kr 虽然一周后它没有问题。 突然它导致问题。 一些信息。 1)docker集装箱IP 160: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 16:a4:72:e5:a0:a4 brd ff:ff:ff:ff:ff:ff inet 172.17.0.4/16 scope global eth0 inet6 fe80::14a4:72ff:fee5:a0a4/64 scope link valid_lft forever preferred_lft forever 162: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 […]

为Kubernetesbuild立networking

我正在阅读Kubernetes的“ 从头开始 ”指南,并已到达可怕的networking科 ,他们在这里指出: Kubernetes imposes the following fundamental requirements on any networking implementation (barring any intentional network segmentation policies): * all containers can communicate with all other containers without NAT * all nodes can communicate with all containers (and vice-versa) without NAT * the IP that a container sees itself as is the same […]

docker集装箱是否有自己的TCP / IP堆栈?

我试图了解在连接到主机的线路上发送的一个networking数据包发送到一个Docker容器内的应用程序的情况。 如果它是一个典型的虚拟机,我知道到达主机的数据包将被虚拟机pipe理程序(比如VMware,VBox等)发送到虚拟机的虚拟网卡,然后通过客户机操作系统的TCP / IP协议栈,最后到达申请。 在Docker的情况下,我知道来自主机的数据包从主机的networking接口转发到docker0网桥,该网桥连接到在容器内的虚拟接口eth0上结束的veth对。 但之后? 由于所有Docker容器都使用主机内核,因此假定数据包由主机内核的TCP / IP堆栈处理是正确的吗? 如果是这样,怎么样? 我真的很想阅读一个详细的解释(或者如果你知道一个资源,可以自由地链接)关于真正发生的事情。 我已经仔细阅读了这个页面,但并没有说明一切。 在此先感谢您的答复。

为mac指定docker的ip地址

我正在使用Docker for Mac Beta ,它从聚光灯下运行。 有没有办法从控制台运行它,或者强制使用任何configuration文件来指定docker主机的ip地址。 现在它从192.168.64.3变为192.168.64.5(docker的每次启动都可以有任意的随机IP) 大概我需要configuration网桥接口? com.docker.network.bridge.enable_ip_masquerade: true com.docker.network.bridge.host_binding_ipv4: 0.0.0.0 有谁知道这是怎么做到的吗?

Docker服务在一段时间后停止通信

我有6个容器在docker群中运行。 Kafka + Zookeeper,MongoDB,A,B,C和界面。 接口是公共的主要接入点 – 只有这个容器发布端口 – 5683.接口容器在启动时连接到A,B和C. 我正在使用docker-compose文件+ docker stack deploy,每个服务都有一个名称作为接口的主机。 一切都开始成功,工作正常。 经过一段时间(20分钟,1小时,..)我无法提出接口请求。 接口收到我的请求,但应用程序与服务A,B,C或全部服务失去连接。 如果我重新启动接口,它可以重新连接到服务A,B,C。 我首先认为这是应用程序的问题,所以我在每个服务(接口,A,B,C)上公开了2个新的端口,并连接到分析器和debugging器。 应用程序正常运行,没有泄漏,没有阻塞的线程,正常工作和等待连接。 debugging器告诉我,当我向接口和接口请求尝试请求服务A时,抛出了由同位体exception重置的连接。 在debugging过程中,我发现有趣的东西。 当服务启动时,我将debugging器附加到接口上,一段时间后debugging器也断开连接。 +我无法重新连接,直到我向容器 – >应用程序发出请求。 问题 – 握手失败。 另一个有趣的东西,我发现是我无法要求任何接口。 所以我用wireshark来看看发生了什么事情:SYN – ACK很好。 然后应用程序发布一些数据和接口用FIN,ACK进行响应。 我认为这也发生在接口试图请求服务A和它FIN连接。 接口的代码库,A,B和C对于netty服务器是一样的。 最后,我不认为这是一个应用程序问题。 为什么? 我试图部署容器不作为服务。 我分别运行每个容器,发布每个端口的服务端点和设置为localhost。 (不覆盖networking)。 它正在工作。 容器运行没有问题。 +在开始时我没有说过,当java应用程序(接口,A,B,C)作为独立应用程序运行时没有问题,而不是在docker中运行。 你能帮我解决这个问题吗? 为什么docker在覆盖networking的情况下closures套接字? 我正在使用最新的docker工人。 我也用得比较老。

如何绑定VM docker-machine创build的OSX IP地址?

我在OSX上使用最新的Docker工具包在本地开发Docker。 我有一个在Docker容器中运行的节点服务器,绑定到虚拟机的端口9999。 我可以从我的Mac上的浏览器中打这个服务器,我想从同一个networking上的另一个设备。 有没有办法将VM绑定到机器的IP地址? 或以其他方式暴露它?

从Docker运行改为Docker-compose; 关于集装箱间networking通信的不可预知的行为

经过两天的摸索,我决定向公众介绍我的问题。 我们使用Docker来设置我们的testing环境。 我们正在testing一个Java-Client-Server-Application。 在过去,应用程序只是为了在“单站点”configuration(1台服务器和x个客户端)中运行。 现在我们将应用程序升级到“多站点”configuration(x服务器和y客户端)。 出于这个原因,我们从Docker运行改为Docker-compose,以便轻松构build“复杂”networking。 用Docker运行我们没有遇到任何问题。 通过Docker-compose,我们可以像我们希望的那样build立一个networking(例如,4台服务器和2台客户机)。 我们也可以通过SSH和VNC访问每个容器,并且能够在自己的networking内的每个容器之间进行ping。 问题:我们的Java客户端无法连接到那里的服务器。 即使他们在同一个networking。 而现在真正令人沮丧的是: 也许5个客户端中的1个能够连接到他的服务器。 直到现在,我将它称为一个完整的随机行为。 它并不总是第五个容器工作或相同的networkingconfiguration。 此外,1-Server-1-Client-Network不能始终工作。 最后一个可能在第五次尝试之后。 首先,我认为我也必须公开RMI端口,但是这不起作用。 后来我打开所有的港口,只是肯定,但也没有工作。 关于Docker-Docs,也没有必要这样做。 此外,它也不能解释它有时会起作用的行为。 我的问题是,我没有设置原来的Docker-Run-Configuration,也许我错过了这里的一些重要部分。 也许你的某个人可以指引我正确的方向。 问候,凯 自动创build的yaml-File的代码: version: '2.1' services: foo_server_1: image: foo_server:latest mem_limit: 1g memswap_limit: 2g container_name: foo_server_1 ports: – "22" – "4567" networks: – foo_server_network – client_net_1 foo_client_1_1: image: foo_client:latest mem_limit: 1g memswap_limit: 2g links: […]

为什么容器networking吞吐量低

我使用Docker创build了两个容器,并通过Netperf来测量networking性能。 然而吞吐量结果很低,约为563.81 Mb / s。 不是通过主存储器完成的2个容器/过程之间的通信? 有没有人有一个想法,为什么我有这么低的吞吐量。 我需要一个特定的configuration吗? 谢谢,Genc