两种不常见网络错误:1、在上传镜像的时候发现连接忽然中断的情况,而网络是通的。2、使用默认docker网络配置,过了一段时间发现网络阻塞,curl和wget一个请求耗时明显比在宿主机上的耗时长好多倍。
那么如何解决呢?
第一个问题通过日志就可以解决,如果日志中有明显的报错,例如6789/tcp filtered,同时在宿主机的message上也有如下报错kernel: nf_conntrack: table full, dropping packet,ping的时候也有异常: ping: sendmsg: Operation not permitted,一般可以判定网络的连接数太多了,可以进行内核的调优,扩大连接数。 第二个问题比较简单,可以让docker直接使用宿主的网路,可以解决问题,但是要注意的是使用相同的网络配置的时候要注意端口的冲突,docker中的监听端口如果和host冲突会导致服务启动不起来。