DockerでApach+PHP+MySQLの環境構築までの道 1
とりあえず勉強のためのApache+PHP+MySQLの環境構築を1つのゴールとします。まずはDockerfileとdocker-composeを使ってMySQL単体を起動し日本語入力が動作することを目指します。
現在の問題点
MySQLが日本語入力を受け付けない。日本語を入力すると文字が消えるのは文字コードがutf8mb4を指定していないため。
utf8mb4とは?
utf8とutf8mb4の違いですが、4バイト長文字に対応しているか否からしいです。4バイト長に対応していないと常用漢字の表示に影響出るのでutf8mb4の採用がベストらしいです。
my.cnfを読み込まない
mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored.
MySQLのコンテナに入ると上記メッセージが表示されます。Windows特有の問題らしく権限が777になってしまい無視されるということです。ここに頭を悩ませています。
試したこと
- volumesを使う
- my.cnfにutf8mb4を指定
- Dockerfileでcnfをコピーする
COPY ./my.cnf /etc/mysql/conf.d/my.cnf
- Dockerfileで権限を与える
RUN chmod 644 /etc/mysql/conf.d/my.cnf
- Dockerfileでコマンド指定
CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
- マウント先のフォルダの中身を削除してからビルドし直す
まとめ
検索して、やれることはやりました。疲れちゃった。