现象

#无论my.cnf设置多少,最大永远是214
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 214   |
+-----------------+-------+
1 row in set (0.00 sec)

解决办法

  • 单个容器<需重新run容器>
    在启动容器时加入参数:

--ulimit nofile=65536:65536

  • 修改docker默认值
vim /etc/init.d/docker
#在文件的开始部分加入以下代码:
ulimit -u 65536 -HSn 65536

结果

#做如上修改后再修改my.cnf重启mysql后连接数正常了
mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 6000  |
+-----------------+-------+
1 row in set (0.01 sec)