docker-compose up -dをした際に発生したエラーと今回の解決策の備忘録。
$ docker-compose up -d
Starting php-master_php_1 ...
Starting php-master_pgsql-data_1 ...
Recreating php-master_pgsql_1 ... error
ERROR: for pgsql Cannot start service pgsql: driver failed programming external connectivity on endpoint php-master_pgsql_1 (0513e30f11a18dc42f6358ca142eab9289889c0ebeea8b9964b1fa86d10738a9):
Bind for 0.0.0.0:5432 failed: port is already allocated
ERROR: Encountered errors while bringing up the project.
エラー1行目『Cannot start service pgsql』pgsqlサービスが開始できません。
エラー2行目の『Bind for 0.0.0.0:5432 failed: port is already allocated』
『0.0.0.0:5432のバインドに失敗しました。ポートは既に割り当てられています』という意味(Google翻訳)
エラー3行目の『ERROR: Encountered errors while bringing up the project.』
これは『プロジェクト起動中にエラーが発生しました』という意味(Google翻訳)
※5432のポートは既に使用されているということみたい。頼んでないのに誰だよ…。
docker psで起動中のコンテナ一覧を表示して確認。
$ docker ps
IMAGE laradock_postgres
PORT 0.0.0.0:5432->5432/tcp
laradock_postgresが5432を使ってますね。
起動しようとしたディレクトリ配下にあるdocker-compose.ymlを編集します。
サービスを開始できなかったpgsqlのportsのところ
ports:
- "5432:5432" 変更前
- "5433:5432" 変更後
作成に失敗したコンテナを削除しないといけません。
$ docker rm 作成に失敗したCONTAINER ID
再起動します。
$ docker-compose stop
$ docker-compose up -d
Starting php-master_pgsql_1 ... done
done!!