DockerでMySQLが立ち上がらなかった、ハマってしまったのでメモで残しておきます。
WordPress用にmysqlを作成したく以下のコマンドを入力
docker run --name mysql -dit --net=wordpress -e MYSQL_ROOT_PASSWORD=Password -e MYSQL_DATABASE=wordpressdb -e MYSQL_USER=mysql -e MYSQL_PASSWORD=Password mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_password
オプションを外して以下コマンドを入力
docker run --name mysql000 -dit --net=wordpress -e MYSQL_ROOT_PASSWORD=Password -e MYSQL_DATABASE=wordpressdb -e MYSQL_USER=mysql -e MYSQL_PASSWORD=Password mysql --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
成功時の出力
Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
c72f53f7235b: Pull complete
c7e4ed755af2: Pull complete
6c8c802f90bc: Pull complete
eecc55f854cd: Pull complete
cc8dabc09813: Pull complete
e376e56dbcf9: Pull complete
bd552de0e856: Pull complete
78c8170ad3df: Pull complete
その後プロセス状況を確認し、mysqlが立ち上がっていることを確認
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac77908fb050 mysql "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 3306/tcp, 33060/tcp mysql
13232cbf8399 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8085->80/tcp wordpress
初めに実行したコマンドで問題が発生した原因
--default-authentication-plugin=mysql_native_password
MySQLオプションオプションを指定した際に、MySQLバージョンやイメージの互換性に問題がある場合、コンテナが正常に起動しないことがあります。このオプションは、MySQL 8.0以降で必要な場合に使用しますが、場合によっては不要です、勉強用で環境構築くらいであれば、不要になると思います。
まとめ
今回の問題は、MySQLコンテナを立ち上げる際のコマンドオプションに問題があったことが原因でした。オプションの見直しと修正を行うことで、正常にコンテナを立ち上げることができました。