質問: ### 前提・実現したいこと DockerのMySQLイメージを利用したコンテナ作成で、 設定ファイルが適用されるようにしたいです。 コンテナ作成時に自身でカスタマイズしたmyconfig.cnfでmysqlを起動する方法として下記サイトの方法を参考にしました。 http://dqn.sakusakutto.jp/2015/10/docker_mysqld_tutorial.html ボリュームを利用して以下のようなコンテナ作成時に以下の文を付け加えて起動時に自作のmyconfig.cnfの設定を読み込むようにしました。 `-v /LOCAL_PATH/:/etc/mysql/conf.d` この方法でMacでは上手く設定が適用されたのですが Windows7のDockerToolboxでは下記のようなエラーが出てしまいます。 ### 発生している問題・エラーメッセージ ``` mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/custom.cnf' is ignored. ``` ### 試したこと 調査したところ、ファイルの権限周りの問題とのことで 実際両PCのファイルを見比べたところ違いがありました。 ``` #Win : ls -l /etc/mysql/conf.d -rwxrwxrwx 1 1000 staff 1424 Nov 1 02:26 myconfig.cnf #Mac : ls -l /etc/mysql/conf.d -rw-r--r-- 1 root root 1424 Oct 5 01:37 myconfig.cnf ``` 違っていることがわかったため、権限周りを変更しようと `chmod 644 /etc/mysql/conf.d/myconfig.cnf` を試しましたが、権限の変更が行われていないようでした。 ### 補足情報(言語/FW/ツール等のバージョンなど) Windows7:DockerToolbox Mac:Docker for Mac DockerToolboxの場合、VirtualBoxなどが絡んでこのような問題が起きるというところまでは一応わかったんですが、 原因の詳細と、解決策、対応策がわかりませんでした。
回答: 以下Windows上のフォルダでの話です。 「custom.cnf」を「cystom.txt」に変更 これで「cystom.txt」はコンテナ作成時に読み込まれなくなる。 コンテナを作成する直前に「cystom.txt」をコピー&リネームで「custom.cnf」を作成。 「custom.cnf」を読み取り専用に設定。 この状態でMySQLイメージのコンテナを作成することで `mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/custom.cnf' is ignored.` が出ることなく正常に設定が反映された状態のMySQLが立ち上がります。