问题描述
我正在构建一个 docker 项目,我将端口 80
分配给 Nginx。
ports:
- 80:80
当我 docker-compose up -d
时失败,因为它说端口 80
已经被占用。
重新启动我的 mac 后,这个神秘的东西确实启动并运行了,但我不知道它是什么。 Docker 本身已关闭。 Vagrant 已关闭。
以下命令 sudo lsof -i -P | grep -i "80"
没有多大帮助。
如何找出哪个应用程序正在占用端口 80
?
附注。当我映射不同的端口时:
ports:
- 81:80
然后 http://localhost:81
显示我的东西没有任何问题。
解决方法
好的,我发现 Big Sur 预装了 Apache。
macOS 11.0 Big Sur 预装了 Apache 2.4。
停止:sudo apachectl stop
防止自动启动:sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null