Estaba buscando exactamente lo mismo y ahora hay una forma mejor de hacerlo.
El docker mysql escribe:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
En un docker-compose mundo, uno podría pasar estos argumentos a través del "command" sección del servicio:
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
En mi caso de uso, solo quería activar los registros y especificar la ruta al archivo de registro:
command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
Con los volúmenes adecuados (por ejemplo, - ./logs/mysql.log:/var/log/mysql/general-log.log
), se vuelve fácil llegar a ellos.
Esto es bastante sencillo y evita tener que lidiar con una configuración local. Funcionará con cualquier imágenes de MySQL Docker
y mantendrá el my.cnf
como enviado por la imagen.