Estoy tratando de adaptar el ejemplo secreto de Wordpress de Docker (enlace a continuación) para que funcione en mi configuración de Docker Compose (para Drupal).
https://docs.docker.com/engine/swarm/secrets/#/advanced-example-use-secrets-with-a-wordpress-service
Sin embargo, cuando se activa el contenedor 'mysql', aparece el siguiente error:
"error: la base de datos no está inicializada y la opción de contraseña no está especificada. Debe especificar una de MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD y MYSQL_RANDOM_ROOT_PASSWORD"
Creé los secretos usando el comando 'docker secret create':
docker secret create mysql_root_pw tmp-file-holding-root-pw.txt docker secret create mysql_pw tmp-file-holding-pw.txtDespués de ejecutar lo anterior, los secretos ' mysql_root_pw ' y ' mysql_pw ' ahora existen en el entorno de enjambre. Verificado haciendo:
docker secret lsAquí están las partes relevantes de mi archivo 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: trueCuando hago " docker stack deployment MYSTACK ", aparece el error mencionado anteriormente cuando el contenedor 'mysql' intenta iniciarse.
Parece que " MYSQL_PASSWORD_FILE " y " MYSQL_ROOT_PASSWORD_FILE " no son variables de entorno estándar reconocidas por MySQL, y todavía espera la variable de entorno " MYSQL_ROOT_PASSWORD ".
Estoy usando Docker 17.03.
¿Alguna sugerencia?
Gracias.
Obtiene este error si su secreto también es una cadena vacía. Eso es lo que me paso a mi, secret esta montado y service configurado correctamente, pero sigue fallando porque no hay contraseña.