sudo lsof -i :5432
获得此输出:
命令PID用户FD类型设备大小/OFF节点名称 Postgres 521 Postgres 7U IPv6 0xB373B373B426401 0T0 TCP *:PostgreSQL(听) Postgres 521 Postgres 8U IPv4 0XAA39EE093260A0E4 0T0 TCP *:PostgreSQL(听)
似乎PostgreSQL已经在我的计算机上运行,可能是作为服务。由于我正在使用MacOS,因此我尝试停止使用:布鲁服务停止PostgreSql
否则,该端口似乎仍在使用中。我还尝试手动杀死该过程:
sudo kill -9 521
,然后我再次检查:
sudo lsof -i :5432
问题
如何确保端口5432是免费的,以便我可以在docker中运行我的postgresql容器而没有冲突?是否有任何可能使服务运行的MacOS特定配置?
additional信息: •OS:MacOS(MacBook Air) •Docker:最新版本通过Homebrew安装 •PostgreSQL:通过Homebrew(Brew install Postgresql)安装任何帮助都非常感谢! 🙏
但该过程仍然存在。
✅如何修复它
发生问题是因为PostgreSQL已经在您的Mac上运行,并且正在使用端口5432,该端口与Docker容器发生冲突。您可以解决以下方法:
1️⃣在Macos
上正确停止PostgreSQLbrew services stop postgresql
,然后检查端口是否仍在使用:
sudo lsof -i :5432
2️⃣手动杀死该过程(如果需要)
如果PostgreSQL仍在运行,请通过杀死该过程来停止它:
sudo kill -9 521 # Replace 521 with the actual PID
,然后再次验证:
sudo lsof -i :5432