Je cherchais exactement la même chose, et maintenant, il y a une meilleure façon de le faire.
Le docker mysql écrit :
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
Dans un docker-compose monde, on pourrait passer ces arguments via la "command" section du service :
Commandecommand: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
Dans mon cas d'utilisation, je voulais juste activer les journaux et spécifier le chemin d'accès au fichier journal :
Commande command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
Avec les volumes adéquats (par exemple - ./logs/mysql.log:/var/log/mysql/general-log.log
), il devient facile de les atteindre.
C'est assez simple et évite de traiter avec une configuration locale. Il fonctionnera avec toutes les images MySQL Docker
et conservera le my.cnf
tel qu'expédié par l'image.