悪魔は詳細に隠れています...
root
の二重定義があります 環境変数で。 root
ユーザーはデフォルトでMYSQL_ROOT_PASSWORD
のパスワードで作成されます 。次に、まったく同じ名前とパスワードを使用して(つまり、MYSQL_USER
を使用して)2番目の「通常の」ユーザーを作成するように依頼します。 およびMYSQL_PASSWORD
)
起動ログを注意深く見ると、エラーが表示されます
db_1 | ERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%'
これにより、docker-entrypoint-initdb.d
内のinitファイルのそれ以上の処理が実際に停止します。 そして、残りのイメージ起動プロセスを続行します(つまり、一時サーバーでの初期化後にmysqlを再起動します)。
MYSQL_USER
をドロップするだけです およびMYSQL_PASSWORD
環境変数で、またはroot
とは異なるユーザーを設定します そして、すぐに処理されたinitファイルが表示されます(データディレクトリを再度空にすることを忘れないでください)。