個人の学習用にMySQL5.7用のイメージを立ち上げようと思ったら以下エラーで拒まれてしまいました・・・
no matching manifest for linux/arm64/v8 in the manifest list entries
ARMアーキテクチャのイメージがなく、失敗したというものでした。
素直にamdのイメージを実行してもよかったのですが、どうせならバージョンあげて実行することにしました。
諸般の事情でmysql5.7を使わなきゃいけない方は以下を指定してください
platform: linux/amd64
my.cnf作成
以下の設定をファイルに外出しします。
my.cnf
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_bin
default-authentication-plugin = mysql_native_password
それぞれ、文字コードの設定、照合順序、認証方式の設定が書かれています。
MySQL8.0.4からデフォルトの認証方式が変更されているため、ここでは以前のデフォルトと認証方式を指定しています。
my.cnfをマウントする
docker-compose.yml
services:
mysql:
image: mysql:8.0
volumes:
- ./my.cnf:/etc/mysql/conf.d/my.cnf
以下のようにmy.cnf
を/etc/mysql/conf.d/my.cnf
にマウントしてあげると先程の設定を読み込んでくれます。
以上で、MySQL8.0でも起動できるようになりました!