docker-composeで以下のコマンドを実行し、イメージとコンテナの構築・起動をしていましたが「Cannot start service...」というエラーに遭遇しました。

$ docker-compose up -d --build

エラーの内容は以下のとおり。

Creating hoge_db_1 ... error

ERROR: for hoge_db_1  Cannot start service db: driver failed programming external connectivity on endpoint hoge_db_1 (c059bed55cb1904c621da7c2cd3749438642a434d43f063d65540d61703aaf99): Bind for 0.0.0.0:3306 failed: port is already allocated

エラーをよく読んで見ると、port is already allocated(ポートは既に割り当てられています)
ってことは、3306は他で既に使っていて3306は割り当てられないのかな?と考えました。

試しにDB_PORTの設定を3306から13306に変えて、再度コマンドを実行します。

$ docker-compose up -d --build

# 省略
Recreating hoge_db_1 ... done

良かった。エラーが出ず上手くいきました。