mysql - docker-compose 的 "db"服务中 MYSQL_PASSWORD 处出现插值格式错误

标签 mysql docker docker-compose

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

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

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

有什么方法可以在docker-compose.yml中提供这样的密码吗?如何以有效的格式将其传递给服务?

最佳答案

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

environment:
  - MYSQL_PASSWORD=!$$@&#

关于mysql - docker-compose 的 "db"服务中 MYSQL_PASSWORD 处出现插值格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59803435/

相关文章:

bash - Docker拒绝运行bash

php - 带有内连接的 WHERE 子句

mysql - 尝试通过 SSH 连接到远程数据库时 SSH 端口转发失败

linux - K8s 没有杀死我的 airflow 网络服务器 pod

c# - 计算在 IoT Core 上运行的控制台应用程序的系统 CPU 使用率

nginx - Docker - index.html Nginx 文件共享无效

ruby-on-rails - 无法运行 rake db :create in Dockerfile with docker-compose

php - 将索引数组插入MySQL中的一列

mysql - CentOS 内存使用情况。已使用约 22GB RAM(22GB 可用内存)

powershell - 从主机 Powershell 脚本在 Docker 容器中运行 Powershell 脚本