[英]Why does MySQL Docker container complain that MYSQL_ROOT_PASSWORD env must be defined when using Docker 17.03 secrets?
我正在嘗試改編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。
有什么建議么?
謝謝。
如果您的機密也是一個空字符串,則會出現此錯誤。 這就是我所發生的事情,已安裝密碼並正確配置了服務,但由於沒有密碼,因此仍然失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.