如何解决Docker Compose启动MySQL时提示数据库未初始化未指定密码的错误
问题排查与解决方案
问题根源
你的docker-compose.yaml中MySQL服务的root密码环境变量拼写错误:填写的变量名为MYSQLROOT_PASSWORD,缺少官方要求的下划线分隔,正确变量名应为MYSQL_ROOT_PASSWORD,导致MySQL容器启动时无法识别root密码配置,触发初始化报错。
修复后的docker-compose.yaml配置
version: '3' services: web: image: nginx db: image: mysql ports: - "3307:3306" environment: - MYSQL_ROOT_PASSWORD=password - MYSQL_USER=user - MYSQL_PASSWORD=password - MYSQL_DATABASE=demodb
生效操作步骤
- 首先清理之前启动失败的残留容器与数据卷,避免旧的异常初始化数据影响新容器启动:
docker-compose down -v - 重新执行启动命令即可后台运行服务:
docker-compose -f docker-compose.yaml up -d - 启动完成后可执行
docker-compose ps查看服务状态,web和db服务均显示Up状态即为部署成功。
内容的提问来源于stack exchange,提问作者Motti C
相关产品推荐
相关产品推荐

