J'ai pu accéder à la console Mysql sur un conteneur Docker Mariadb.
Depuis ma machine locale, je peux exécuter cette commande pour accéder à la console (j'ai installé mariadb localement) :
mysql -h localhost -P 3306 -u lc -p --protocol tcp
Le problème survient lorsque j'essaie d'utiliser les secrets Docker au lieu d'écrire explicitement mot de passe sur le docker-compose.yml
fichier.
Configuration de travail
Ainsi, je peux accéder à la console mysql :
services:
mariadb:
image: mariadb
environment:
MYSQL_DATABASE: my_db
MYSQL_ROOT_PASSWORD: 'pw'
volumes:
- db_data:/var/lib/mysql
ports:
- '3306:3306'
Enjeu
Dès que je déplace les secrets dans un fichier, je ne peux plus y accéder.
services:
mariadb:
image: mariadb
environment:
MYSQL_DATABASE: my_db
MYSQL_ROOT_PASSWORD: ./env/mysql_root_password.tx
volumes:
- db_data:/var/lib/mysql
ports:
- '3306:3306'
secrets:
mysql_root_password:
file: ./env/mysql_root_password.txt
Les secrets fonctionnent parce que le conteneur Wordpress y accède facilement, donc éventuellement le mot de passe. pw
est transformé en quelque chose d'autre lorsqu'il est extrait d'un secret.
Une idée ?