我正在尝试调整 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 ' 现在存在于 swarm 环境中。通过执行验证:
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。
有什么建议么?
谢谢。