背景
Docker + MySQL で環境構築をしていると下記のメッセージに遭遇することが多かったので調べた。
Host 'IPアドレス' is not allowed to connect to this MySQL server
原因
不明。
キャッシュが残っていることが原因だと思うけどうまく説明できるようにしたい。
解決策
一応「キャッシュが残ってるから消してみてねー」という風な記事が多かったので対応するコマンドを打つことにより解決した。
docker-compose down --rmi all --volumes --remove-orphans
解説
-
docker-compose down
:
docker-compose up で作成したコンテナ、ネットワーク、ボリューム、イメージを削除。 -
--rmi
: イメージの削除。今回は allというオプション。 -
--volumes
: Compose ファイルのvolumes
セクションの名前付きボリュームを削除。 また、コンテナがアタッチした匿名ボリュームも削除。 -
--remove-orphans
: Compose ファイルで定義していないサービス用のコンテナも削除。