如何编辑Docker MySQL镜像并增加连接限制

3

我是一个新手,在学习docker的概念。我有已经构建好的mysql镜像,现在想在配置文件中将mysql连接数限制增加到10000个。我已经进行了很多研究,但是没有找到任何关于这方面的线索。请问如何获取mysql配置文件并更改设置?


命令:--max_connections=10000 - LinPy
你的意思是运行一个命令会永久增加连接限制吗? - Sanjay
也许你可以分享你的镜像Dockerfile或Compose文件,这样我们就可以帮助你。 - LinPy
我们如何获取那个物理图像文件? - Sanjay
2个回答

10
你可以这样运行容器:
docker run -d -e "MYSQL_ROOT_PASSWORD=test" mysql --max_connections=10000

或者自己编写Dockerfile:
FROM mysql
CMD [ "--max_connections=10000" ]

然后构建它:

docker build -t my_mysql .

并运行它:

docker run -d -e "MYSQL_ROOT_PASSWORD=test" my_mysql

好的,但运行命令会永久设置相同的设置吗? - Sanjay
好的,既然我正在使用Linux服务器运行这些命令,那么我该如何在那里创建Docker文件并运行相同的文件呢?请给予建议。 - Sanjay
你是什么意思?只要按照答案中的内容操作即可。 - LinPy
你如何进行检查? - LinPy
@LinPy 是的,语法 "MYSQL_ROOT_PASSWORD=test" 也是正确的,抱歉,是我的错误。 - rok
通过指定容器名 mysql1 运行以下命令:docker run -d --name mysql1 -e "MYSQL_ROOT_PASSWORD=test" mysql --max_connections=10000,MySQL 容器将运行正常。 - Sanjay

3
创建Dockerfile:
FROM mysql
COPY custom.cnf /etc/mysql/conf.d/custom.cnf

在与Dockerfile相同的文件夹中创建名为custom.cnf的自定义配置文件,其内容如下:
[mysqld]
max_connections = 1024

在Dockerfile所在的同一文件夹中重建镜像:docker build -t my_mysql .

运行容器:

docker run -d -e MYSQL_ROOT_PASSWORD=test --name=my_mysql my_mysql

检查配置是否更改:

docker exec -i my_mysql mysql -uroot -ptest -e "SHOW VARIABLES LIKE 'max_connections';"

您应该看到:
Variable_name   Value
max_connections 1024

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接