我正在尝试使用Docker的Wordpress秘密示例(下面的链接)来使用我的Docker Compose设置(对于Drupal)。
https://docs.docker.com/engine/swarm/secrets/#/advanced-example-use-secrets-with-a-wordpress-service
但是,当'mysql'容器旋转时,会输出以下错误:
“错误:数据库未初始化且未指定密码选项 您需要指定MYSQL_ROOT_PASSWORD,MYSQL_ALLOW_EMPTY_PASSWORD和MYSQL_RANDOM_ROOT_PASSWORD之一“
我使用'docker secret create'命令创建了秘密:
docker secret create mysql_root_pw tmp-file-holding-root-pw.txt
docker secret create mysql_pw tmp-file-holding-pw.txt
运行上述内容后,群组环境中现在存在秘密“ mysql_root_pw ”和“ mysql_pw ”。通过执行验证:
docker secret ls
以下是 docker-compose.yml 文件中的相关部分:
version: '3.1'
services:
mysql:
image: mysql/mysql-server:5.7.17
environment:
- MYSQL_ROOT_PASSWORD_FILE="/run/secrets/mysql_root_pw"
- MYSQL_PASSWORD_FILE="/run/secrets/mysql_pw"
secrets:
- mysql_pw
- mysql_root_pw
secrets:
mysql_pw:
external: true
mysql_root_pw:
external: true
当我执行“ docker stack deploy MYSTACK ”时,当'mysql'容器尝试启动时,我收到上述错误。
似乎“ MYSQL_PASSWORD_FILE ”和“ MYSQL_ROOT_PASSWORD_FILE ”不是MySQL认可的标准环境变量,它仍然期待“ MYSQL_ROOT_PASSWORD ”环境变量。
我正在使用Docker 17.03。
有什么建议吗?
感谢。
答案 0 :(得分:0)
如果您的秘密也是空字符串,则会收到此错误。这就是我发生的事情,安装了秘密并正确配置了服务,但由于没有密码,它仍然失败。