首页 > 解决方案 > docker-compose 的“db”服务中 MYSQL_PASSWORD 的插值格式错误

问题描述

当我尝试启动我的容器时,docker-compose up我收到以下错误:

ERROR: Invalid interpolation format for "environment" option in service "db": "MYSQL_PASSWORD=..."

提供的密码包含特殊字符(!、$、@、&、#)。我相信这些是造成问题的原因。

有没有办法提供这样的密码docker-compose.yml?如何以有效格式将其传递给服务?

标签: mysqldockerdocker-compose

解决方案


问题是环境变量中的$字符。MYSQL_PASSWORD您应该通过$$字符前面添加 :来转义它$$。例如,如果你的密码是!$@&#,你应该写:

environment:
  - MYSQL_PASSWORD=!$$@&#

推荐阅读