Stavo cercando la stessa identica cosa e ora c'è un modo migliore per farlo.
Il docker mysql scrive:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
In un docker-compose mondo, si potrebbero passare questi argomenti attraverso il "comando" sezione del servizio:
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
Nel mio caso d'uso volevo solo attivare i log e specificare il percorso del file di log:
command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
Con i volumi adeguati (es. - ./logs/mysql.log:/var/log/mysql/general-log.log
), diventa facile raggiungerli.
Questo è piuttosto semplice ed evita di avere a che fare con una configurazione locale. Funzionerà con qualsiasi immagini MySQL Docker
e manterrà il my.cnf
come spedito dall'immagine.