根据你提供的日志和Docker命令,可以看到容器在启动时出现了相同的错误:
mysqld: Can't read dir of '/etc/mysql/conf.d/' (Errcode: 2 - No such file or directory)
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
这表明容器无法读取/etc/mysql/conf.d/
目录。在你的Docker命令中,你将宿主机上的/mydata/mysql/conf
目录挂载到了容器的/etc/mysql
路径下。然而,配置文件应该位于该目录的子目录conf.d/
中。
请修改Docker命令,将宿主机上的/mydata/mysql/conf
目录挂载到容器的正确路径 /etc/mysql/conf.d/
下:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
重新运行修改后的Docker命令,这样MySQL容器就能正确读取配置文件并启动了。
内容由零声教学AI助手提供,问题来源于学员提问