MySQL容器内vi/nano不可用、找不到配置文件及apt命令失效问题求助
解决MySQL容器中编辑器缺失、配置文件找不到及包管理器报错的问题
一、解决编辑器和包管理器的问题
官方MySQL镜像(尤其是最新版本)默认基于Alpine Linux,使用apk而非apt作为包管理器,按以下命令安装编辑器即可:
- 更新apk源:
apk update - 安装nano:
或者安装vim:apk add nanoapk add vim
二、找到mysqld.cnf配置文件
MySQL官方镜像的主配置文件不在/etc/mysql根目录下,默认路径是/etc/mysql/mysql.conf.d/mysqld.cnf。你也可以用以下命令确认具体路径:
mysql --help | grep -A 1 'Default options'
执行后会输出MySQL默认读取的配置文件顺序,能清晰看到mysqld.cnf的位置。
三、更推荐的配置修改方式(无需进入容器)
频繁进入容器修改配置不是最佳实践,建议通过挂载本地配置文件的方式启动容器,操作步骤如下:
- 停止并删除现有容器:
docker stop l4-mysql docker rm l4-mysql - 临时启动容器并复制默认配置文件到本地:
docker run --name temp-mysql -e MYSQL_ROOT_PASSWORD=my-pass -d mysql docker cp temp-mysql:/etc/mysql/mysql.conf.d/mysqld.cnf ./mysqld.cnf docker stop temp-mysql docker rm temp-mysql - 用本地Ubuntu的编辑器修改
./mysqld.cnf文件 - 挂载修改后的配置文件启动新容器:
docker run --name l4-mysql -e MYSQL_ROOT_PASSWORD=my-pass -p 3305:3306 -v $(pwd)/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -d mysql
内容的提问来源于stack exchange,提问作者Forsaken_Oracle
相关产品推荐
相关产品推荐

