Tag: tcp

如何在Docker中增加65536以上的TCP连接数

描述 我做了一个tcp连接testing,在主机上启动一个tcp服务器,并启动其他主机运行容器,在容器中连接到tcp服务器。 当连接总数(所有容器的所有连接数总和)几乎达到65535(例如:刚才的64512)时,另一个tcp连接抛出exception“连接超时”。 我试图用3个主机没有docker连接TCP服务器每个60K连接是好的,它说,TCP服务器做180K连接是好的。 重现问题的步骤: 1.在主机A中启动tcp服务器2.在主机B中启动容器C1 3.在C1中启动60K连接到tcp服务器4.启动主机B中的容器C2 5.在C2中启动60K连接到tcp服务器 描述你收到的结果: 总的TCP连接多于120K 描述你期望的结果: 每个60K连接在两个容器中共计120K连接而成。 您认为重要的其他信息(例如问题偶尔会发生): 主机configuration: 在主机“`root @ debian:〜#ulimit -n 800000 net.ipv4.ip_local_port_range = 5000 65535 net.ipv4.tcp_mem = 8388608 12582912 16777216 net.ipv4.netfilter.ip_conntrack_max = 1000000 net.netfilter.nf_conntrack_max = 1000000 net.netfilter.nf_conntrack_count = 64515 net.nf_conntrack_max = 1000000 total used free shared buffers cached Mem: 986M 808M 178M 8.5M 5.0M 132M -/+ buffers/cache: […]

泊坞窗退出状态255

我正在使用带有Service Pack 1和Docker工具箱的Windows 7 Professional 我在下面尝试,但没有工作: 1)以pipe理员身份运行 2)删除默认图像,并尝试启动dockerterminal 3)更新虚拟箱到最新版本 4)在一些论坛中提出下面这个命令:docker-machine rm -f default && docker-machine –debug create -d virtualbox default 5)我尝试从cygwin运行./start.sh脚本,看看是否会有所帮助。 6)我卸载了Git,docker,VM虚拟框,并删除了这些文件夹:.docker,.ssh和.VirtualBox。 重新启动笔记本电脑,从头开始。 任何其他build议,我可以尝试。 (我把Go安装回去了,不知道是不是有什么问题,我没有看到其他有冲突的软件)

Ubuntu是否需要Docker机器,如果不是如何TCP一个Ubuntu docker守护进程?

我已经在Ubuntu机器上安装docker在Windows或Mac机上运行docker在TCP我们需要docker机,而在Ubuntu中没有必要,因为它已经运行在Linux环境 如果是这种情况,请考虑下面的图像 ubuntu@ip-XXXX:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE jenkins latest 04c1dd56a3d8 3 weeks ago 713 MB 现在我试图运行这个使用下面的命令 ubuntu@ip-XXXX:~$ sudo docker run -p 7878:7878 jenkins 执行后它正在运行propery ubuntu@ip-172-31-15-253:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 40e5f4212cf4 jenkins "/bin/tini — /usr…" 7 minutes ago Up 7 minutes 8080/tcp, 0.0.0.0:7500->7500/tcp, 50000/tcp […]

docker集装箱之间的连接失败

我的应用程序由一个独立的java服务器,一个客户端java web启动应用程序,一组所有在一个wildfly实例中运行的webapps以及postgres组成。 客户端容器只是一个服务于JNLP和相应的java客户端的nginx服务器。 我所有的容器都在同一台主机上运行。 这里是我的dockerfile的一个稍微精简版本: version: '3' services: server: privileged: true image: <server_image> networks: – myapp client: image: <client_image> networks: – myapp webapp: privileged: true image: <wildfly_image> networks: – myapp postgres: image: <postgres_image> volumes: – /pgdata:/pgdata networks: – myapp lb: image: dockercloud/haproxy:latest environment: – FORCE_DEFAULT_BACKEND=False – ADDITIONAL_BACKEND_WEBAPPS=server webapp1 webapp:8080 – ADDITIONAL_BACKEND_CLIENT=server client1 client:80 – ADDITIONAL_BACKEND_SERVER=mode […]

如果超过80Mb,Docker Windows发送构build上下文失败

当我尝试使用docker build –host构build一个图像时,我无法find发生了什么事情。 发送构build上下文时,它一开始就失败了。 只有在大小低于80 Mb的情况下才能正常工作。 我已经检查了Docker版本:17.03.1-ee-3,API:1.27,networking,防火墙规则,我看不出为什么。 我没有与另一台服务器的问题和configuration看起来类似。 有没有人看过这个问题? 谢谢! docker –host abcd build -t myproject . error during connect: Post http://abcd:2375/v1.25/build?cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=dockerfile&labels=%7B%7D&memory=0&memswap=0&rm=1&shmsize=0&t=myproject&ulimits=null: write tcp efgh:64981->abcd:2375: wsasend: An existing connection was forcibly closed by the remote host.

Docker弹性search编辑sysctl.conf文件来“保持活跃”tcp连接

我有一个elasticsearch(5.2.0)docker实例。 我有NoNodeAvailableException: No node available error一段时间后NoNodeAvailableException: No node available error 。 当我search错误时,我发现要么将这些行添加到sysctl.conf要么执行下面的命令。 组态: net.ipv4.tcp_keepalive_time=600 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=3 命令: sysctl -w net.ipv4.tcp_keepalive_time=600 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=3 我需要将我的弹性search连接watch -n 1 netstat –tcp -t -o -n为keepalive (请watch -n 1 netstat –tcp -t -o -n ),但似乎configuration不起作用。 我认为编辑configuration文件不起作用,而且“sysctl命令”给出了下面的错误: sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_time: No such file or directory sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_intvl: No such […]

在EC2不能curl本地主机,使用野蝇群

我有一个在Amazon EC2的Docker容器中运行的野蛮群集应用程序。 这是我的Docker ps: 913171ca1a34 xxxxxxxxxxx/myrepository:osapp2.0 "java -jar /app/Or…" 55 minutes ago Up 55 minutes 8080/tcp, 0.0.0.0:4000->80/tcp elastic_yonath netstat -ano | grep 4000 gives following output tcp 0 0 :::4000 :::* LISTEN off (0.00/0/0) netstat -ano | grep 80 udp 0 0 fe80::841:a6ff:fe76:c70c:546 :::* off (0.00/0/0) udp 0 0 :::53880 :::* off (0.00/0/0) unix 3 […]

kill +启动docker映像后TCP连接失败

背景 我有多个Python应用程序在同一台机器上的泊坞窗运行。 每个python应用程序使用twisted来创build服务器和客户端以TCP进行通信,每个进程侦听的端口都被configuration在一个静态文件中。 问题 有时,只有有时,当我重新启动一个或多个docker图像(我使用docker kill和docker run ),有一个机会,一个应用程序使用之前使用的端口仍在使用。 在docker run命令后, twisted会Unhandled error in Deferred: Error(没有更多的细节,只有这一行,可能是因为我的日志configuration)抛出Unhandled error in Deferred: ,当且仅当它是有问题的。 然后我用netstat -ntlp来检查那个特定的端口,我发现这个端口没有被监听。 而我尝试nc -l [PORT] ,它返回Address already in use 。 另外,我使用netstat -a | grep ESTABLISHED netstat -a | grep ESTABLISHED找出一些进程已经build立到该端口的TCP连接。 意思是我试图暂时解决这个问题 我重新启动了有问题的Docker镜像,直到听到端口。 我杀了以前与有问题的docker图像通信的其他docker图像,然后重新启动所有死亡的图像。 什么是预期的 我想知道为什么发生这种情况,以及如何解决这个问题。 我不想每次重新启动泊坞窗图像时检查netstat -ntlp 。 环境 : 操作系统: Ubuntu 14.04.5 LTS (GNU/Linux 4.4.0-53-generic […]

拨号TCP 127.0.0.1:3306:getsockopt:连接拒绝“当试图运行一个泊坞窗图像

这是我正在做的事情的图片: 我有本地的Go API代码,我已经将其构build到Docker镜像中。 我已经从docker中提取了MySQL docker镜像。 我有DB在MySQL和Go API正在访问MySQL。 一切正常,直到我的Go API是本地和MySQL是docker的容器。 现在我已经构build了本地Go代码作为docker镜像,当我尝试使用docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5来运行这个镜像docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5 ,Docker容器立即启动并退出。 我尝试了Docker Start -a Container-ID再次启动容器,我得到这个错误“拨号TCP 127.0.0.1:3306:getsockopt:连接被拒绝”。 当我search这个错误时,我得到了这个input – “在MySQL服务器configuration中设置绑定地址:127.0.0.1后,我能够得到安装与主机本地主机:3306工作。 但我不知道如何设置绑定地址。 任何有关这方面的意见将是有益的。 谢谢。

弹性心跳响应检查TCP错误

我configuration了一个简单的心跳6.1监视器: heartbeat.monitors: – type: http schedule: '@every 10s' urls: – 'http://service/status' mode: all check: response: status: 200 哪个工作。 监视器configuration还支持通过设置密钥check.response.body检查响应的内容 … mode: all check: response: status: 200 body: UP 服务返回UP (使用curl检查),但由于以下错误,心跳检测到服务正在closures: 读取tcp xyza:port-> bcde:80:使用封闭的networking连接 服务和心跳都作为docker容器运行,并共享一个共同的networking(显然,否则第一个configuration将无法正常工作)。 什么可能是错误的原因? 这是服务问题(即过早closures连接)还是心跳问题? 我有另一个服务正在运行(一个简单的node.js快速应用程序),它没有performance出这种行为(以便指出一个服务问题)。 如何解决问题? 编辑 在虚拟dockernetworking上运行tcpdump / wireshark显示该服务正确响应请求,每隔10秒(在心跳configuration中configuration)。 所以显然所有的请求都是成功的。 为什么弹性心跳仍然抱怨closures连接?