docker-composeでコンテナを立ち上げた時に、次のようなエラーが発生することがあります。

Error response from daemon: driver failed programming external connectivity on endpoint eccube4_mysql_1 (xxxxxxxxxxxxxxxxxxxxxxxxxx): Bind for 0.0.0.0:13306 failed: port is already allocated

エラーの原因

複数のEC-CUBEサイトの開発環境をDockerで立ち上げている場合にポート番号が重複してしまうと発生します。エラ〜メッセージにBind for 0.0.0.0:13306とあるので、13306がすでに他のプロジェクトで使用されている可能性を疑います。

docker-compose.ymlやdocker-compose.mysql.ymlなどに書かれているポート番号を確認してください。他の番号に変更して再度upすれば起動すると思います。

おそらく多くの方は、Dockerで開発雨する時プロジェクトによってポートフォワーディングするポート番号を変えたり、IPアドレスを変えたりして競合しないように工夫していると思いますが、プロジェクトが増えてくると番号管理が難しくなってきますね。

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ