問題
mysqld: [Warning] World-writable config file '/etc/mysql/my.cnf' is ignored.
というエラーがvolumeのmy.cnfファイルのマウントで起こっていて人用の備忘録です。
mysql8はmy.cnfの権限設定が適切でない(誰でも書き込みができてしまう)と起動しなません。
なので、my.cnfをイメージ内で適切に設定する必要があるが、
windows環境下ではlinuxのような権限設定はできないので、
一工夫する必要があります。
対策 マウントするmy.cnfファイルにwindowsでread-only(読み取り専用)をつける
文字どおりです。
フォルダから対象ファイルを右クリック→プロパティ→属性を読み取り専用
にしてやりましょう。
読み取り専用を設定した状態でvolumeにマウントするとマウント先で書き込み権限が消えます。
なので、この状態でコンテナを起動すればmy.cnfの権限設定が適切になり、エラーが解消されます。
久しぶりの投稿の割にひたすら短いですが、
かなり簡単な解決で感動したので残します。
参考:https://stackoverflow.com/questions/37001272/fixing-world-writable-mysql-error-in-docker
追記
記事作成から数年たっていますが、現在でも割と参照されているようなので、
Microsoftのドキュメントでwslでのwindowsとlinuxのアクセス権限について記載されている箇所も追記しておきます。