GMOアドマーケティングのT.Kです。 開発環境をDocker Composeで構築していますが、コンテナ間の通信が出来なくなり、原因を調べたらコンテナ名が変わってました。
起きた事
コンテナ名を明示的に指定されていなかったので、V1では
<PROJECT名>_<service名>_<連番>で作成されます。アプリケーション側はその命名規則を前提に、コンテナ名を指定して通信を行うように行なってました。V2ではハイフンを使うように変更されたので、
<PROJECT名>-<service名>-<連番>で作成されます。アプリケーションからは存在しないとコンテナを通信しようとしてエラーになりました。
対策
container_nameで明示的にコンテナ名を指定する事でV1、V2両方の環境に対応出来ます。また、サービス名を使ってもコンテナ間の通信は行えます。
まとめ
開発ツールのアップデートはリリースノートをあまり見ないが、挙動が変わってしまう事もあるので、せめてメジャーアップデートは軽く目を通した方がいいですね。