开启环境的时候提示ERROR:could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network


使用docker network ls | wc -l 查看network数量

docker network prune关闭未使用的网络

同样, 可以通过修改系统默认网络配置参数增加服务器可以建立的连接数

主要是对内核参数sysctl.conf的优化,/etc/sysctl.conf 是用来控制linux网络的配置文件,对于依赖网络的程序(如web服务器和cache服务器)非常重要,RHEL默认提供的最好调整。推荐配置(把下面内容添加进去):

net.ipv4.ip_local_port_range = 1024 65535

net.core.rmem_max=16777216

net.core.wmem_max=16777216

net.ipv4.tcp_rmem=4096 87380 16777216

net.ipv4.tcp_wmem=4096 65536 16777216

net.ipv4.tcp_fin_timeout = 10

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_window_scaling = 0

net.ipv4.tcp_sack = 0

net.core.netdev_max_backlog = 30000

net.ipv4.tcp_no_metrics_save=1

net.core.somaxconn = 262144

net.ipv4.tcp_syncookies = 0

net.ipv4.tcp_max_orphans = 262144

net.ipv4.tcp_max_syn_backlog = 262144

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2


对上述内存参数的具体操作命令示例:

1)查看端口范围:

[root@slave2 sub_client]# sysctl -a | grep range

net.ipv4.ip_local_port_range = 1024 65000

2)修改内核参数sysctl.conf,打开该文件

vi /etc/sysctl.conf

如果文件中有参数net.ipv4.ip_local_port_range的配置,则将其修改为:

net.ipv4.ip_local_port_range = 1024 65000

否则,直接加上这句话。

3)让配置立即生效:

sysctl -p

另外,端口范围参数net.ipv4.ip_local_port_range不要超过1024和65535,1024以下系统使用,65535以上设置会会提示失败:

error: "Invalid argument" setting key "net.ipv4.ip_local_port_range"

修改后 docker可以使用更多的连接, 配置生效