Hledal jsem přesně to samé a teď existuje lepší způsob, jak to udělat.
docker mysql píše:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
V docker-compose světě, lze tyto argumenty předat pomocí "příkazu" sekce služby:
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
V mém případě použití jsem chtěl pouze zapnout protokoly a zadat cestu k souboru protokolu:
command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
S odpovídajícími objemy (např. - ./logs/mysql.log:/var/log/mysql/general-log.log
), je snadné se k nim dostat.
To je docela jednoduché a vyhněte se řešení místní konfigurace. Bude fungovat se všemi obrázky MySQL Docker
a zachová my.cnf
podle obrázku.