mysql - docker-compose 的“db”服务中 MYSQL_PASSWORD 的插值格式错误
问题描述
当我尝试启动我的容器时,docker-compose up
我收到以下错误:
ERROR: Invalid interpolation format for "environment" option in service "db": "MYSQL_PASSWORD=..."
提供的密码包含特殊字符(!、$、@、&、#)。我相信这些是造成问题的原因。
有没有办法提供这样的密码docker-compose.yml
?如何以有效格式将其传递给服务?
解决方案
问题是环境变量中的$
字符。MYSQL_PASSWORD
您应该通过$
在$
字符前面添加 :来转义它$$
。例如,如果你的密码是!$@&#
,你应该写:
environment:
- MYSQL_PASSWORD=!$$@&#
推荐阅读
- node.js - 绕过前端到后端
- java - Quarkus 不返回数据,当我调用 Oracle 存储过程时我需要手动中断调用
- database-backups - 通过链接服务器从一台服务器备份数据库
- quarkus - Quarkus OIDC 重定向 uri 绝对路径
- javascript - eslint 显示意外使用逗号,数组的无序列
- javascript - 来自 html 代码的 document.createElement 序列
- javascript - 如何使用 Webpack Module Federation 将不同的项目(如应用程序)集成到单个应用程序中?
- sql - 组内的条件行编号
- runtime - 来自 abort(3) 的中止信号 (SIGABRT)
- spring-security - 什么控制 DaoAuthenticationProvider 中密码的加密?