Windows版Docker Desktop如何设置容器环境变量?
MySQL 5.7.28 容器启动缺失MYSQL_ROOT_PASSWORD参数解决方法
MySQL官方5.7版本镜像启动时强制校验MYSQL_ROOT_PASSWORD环境变量,未配置该参数时容器会直接触发启动逻辑失败、异常退出,和镜像拉取完整性无关。不需要依赖docker-compose,两种方式可完成配置:
命令行直接启动
不需要编写yaml配置文件,执行docker run命令时通过-e参数传入环境变量即可,参考命令:
# 替换命令里的<你的自定义root密码>为实际要设置的数据库root密码 docker run -d \ --name mysql5.7 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=<你的自定义root密码> \ -v mysql57_data:/var/lib/mysql \ --restart=always \ mysql:5.7.28
参数说明:
-e MYSQL_ROOT_PASSWORD=xxx:传入必填的root初始密码参数,是解决报错的核心配置-p 3306:3306:将容器内MySQL的3306端口映射到宿主机,方便本地数据库工具连接-v mysql57_data:/var/lib/mysql:将数据库数据持久化到Docker命名卷,避免容器删除后数据丢失,建议配置--restart=always:设置容器开机自启、异常退出后自动重启,按需添加- 执行后通过
docker ps查看容器状态,显示Up状态即为启动正常
Docker Desktop 图形界面配置
你之前找不到配置入口,是因为需要在新建容器的展开配置项里设置,已经创建失败的旧容器直接点启动不会自动补全参数:
- 打开Docker Desktop,切换到
Images页签,找到本地拉取完成的mysql:5.7.28镜像,点击右侧的Run按钮 - 在弹出的启动配置弹窗中,点击Optional settings展开所有隐藏配置项
- 找到
Environment variables配置区域,新增一行配置:变量名填MYSQL_ROOT_PASSWORD,变量值填你要设置的root用户密码 - 按需配置端口映射、数据卷挂载等其他参数后,点击
Run启动容器即可
之前启动失败的残留容器,建议直接删除后按上述流程重新创建,避免旧容器配置缓存导致参数不生效。
内容的提问来源于stack exchange,提问作者Yogesh.galav
相关产品推荐
相关产品推荐

