1、数据库连接方面(unexpected EOF)
packets.go:32: unexpected EOF
packets.go:118: write tcp 192.168.3.90:3306: broken pipe
原因:
golang这边实现的连接池只提供了SetMaxOpenConns和SetMaxIdleConns方法进行连接池方面的配置。在使用的过程中有一个问题就是数据库本身对连接有一个超时时间的设置,如果超时时间到了数据库会单方面断掉连接,此时再用连接池内的连接进行访问就会出错。
2、docker启动微服务出错
ERROR: for tdengine Cannot restart container fa5f4a5a35c176207d928f328fb8344c13ec71cd7e58ec42f4f61cae25fc5086: driver failed programming external connectivity on endpoint tdengine (66621e55c59be291eeb3240a20e9d1ab35de5cf928694e03572f8b8998e0d1e3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 6049 -j DNAT --to-destination 172.18.0.8:6049 ! -i br-4ce50204b996: iptables: No chain/target/match by that name.
(exit status 1))
原因:(需要开启防火墙)
docker服务启动时定义的自定义链DOCKER由于 centos7 firewall 被清掉
firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。
当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。
当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后再启动 或者重启 firewalld ,你就需要重启 Docker 进程了。
重启docker服务及可重新生成自定义链DOCKER
3、tdengine(docker服务端),ubantu系统使用代码,偶尔才能连上,而tar.gz安装的服务端,能稳定连接
4、linux防火墙,重启(restart)偶尔不生效,停止再启动