Docker中MySQL容器端口修改及vi命令使用问题求助
解决MySQL容器端口修改与vi命令问题
1. 解决vi/vim命令不可用的问题
官方MySQL镜像基于两种基础系统,对应不同包管理工具:
- 先确认容器系统版本:
docker exec -it todolist cat /etc/os-release - 若为Alpine系统:
docker exec -it todolist apk update && apk add vim - 若为Debian/Ubuntu系统:
注:部分精简镜像仅保留docker exec -it todolist apt update && apt install vim -yapt命令,而非apt-get
2. 查找并修改MySQL配置文件
步骤1:定位配置文件
进入容器:
docker exec -it todolist bash
查看/etc/mysql下所有文件(含隐藏文件):
ls -a /etc/mysql
若未找到my.cnf,用MySQL自带命令查询配置文件加载顺序:
mysql --help | grep -A 10 "Default options"
官方镜像的核心配置文件通常为/etc/mysql/mysql.conf.d/mysqld.cnf,部分版本会通过软链接指向/etc/my.cnf。
步骤2:修改MySQL端口为3307
用vim打开配置文件(以/etc/mysql/mysql.conf.d/mysqld.cnf为例):
vim /etc/mysql/mysql.conf.d/mysqld.cnf
找到[mysqld]段落,添加或修改端口配置:
[mysqld] port = 3307 # 保留其他原有配置
保存退出vim(按Esc,输入:wq回车)。
3. 重启容器使配置生效
docker restart todolist
验证容器内MySQL端口:
docker exec -it todolist netstat -tulpn | grep mysql
若netstat不可用,可安装工具:Alpine用apk add net-tools,Debian用apt install net-tools -y
内容的提问来源于stack exchange,提问作者nueon112
相关产品推荐
相关产品推荐

