質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

7547閲覧

DockerToolboxでMySQLイメージを利用したmy.cnfの設定反映方法

suvera

総合スコア106

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2016/11/09 05:38

編集2016/11/11 00:59

###前提・実現したいこと
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などが絡んでこのような問題が起きるというところまでは一応わかったんですが、
原因の詳細と、解決策、対応策がわかりませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

以下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が立ち上がります。

投稿2016/11/14 01:59

suvera

総合スコア106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Windowsのファイルシステムとの兼ね合いでパーミッションを変更することはできません。

Stack Overflowに同じような質問がありましたが、ビルド時やrun時にコンテナ内にmyconfig.cnfをコピーして権限を変更する他なさそうです。

投稿2016/11/11 09:19

Bakudankun

総合スコア173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suvera

2016/11/14 01:55

ありがとうございます! こちらで解決できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問