Dockerで作成したMySQLコンテナを日本語化する

  • Dockerの公式イメージだと日本語が扱えず、タイムゾーンも異なる
    - Docker-composeのMySQLコンテナを自作のDockerファイルからビルドする
# docker-compose.yml内
mysql:
# 公式イメージではなく、Dockerファイルをdocker/mysql内に作成して、buildする
# image: mysql:5.7
build: ./docker/mysql
environment:
MYSQL_DATABASE: sample
MYSQL_USER: user
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
# タイムゾーンをAsia/Tokyoに変更する
TZ: "Asia/Tokyo"
ports:
- "3306:3306"
volumes:
- mysql-data:/var/lib/mysql
  • DockerファイルでMysqlの設定を変更する
FROM mysql:5.7
# 言語設定を日本語にする
RUN apt-get update \
&& apt-get install -y locales \
&& rm -rf /var/lib/apt/lists/* \
&& echo "ja_JP.UTF-8 UTF-8" > /etc/locale.gen \
&& locale-gen ja_JP.UTF-8
ENV LC_ALL ja_JP.UTF-8

# mysqlのcharsetを変更する
RUN { \
echo '[mysqld]'; \
echo 'character-set-server=utf8mb4'; \
echo 'collation-server=utf8mb4_general_ci'; \
echo '[client]'; \
echo 'default-character-set=utf8mb4'; \
} > /etc/mysql/conf.d/charset.cnf
  • mysqlの言語設定はshow variables like "chara%";で確認できる
    https://qiita.com/muff1225/items/48e0753e7b745ec3ecbd

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です