这个问题有一些类似的问题,但我认为并不完全相同。
昨天我的所有本地开发容器都在各自的:80和:443端口上正常运行。这既是使用docker-compose启动它们,也是从Visual Studio中进行调试模式。
突然今天早上我收到以下错误:
未处理的异常。System.IO.IOException:无法绑定到地址http://[::]:80:地址已在使用中。
顺便提一句,所有这些完全相同的容器和配置此时都在我的其他机器(即笔记本电脑)上运行,因此这是一个特定于机器的问题。
我正在使用WSL2和最新版本的Docker Desktop(使用WSL2引擎)。
昨天我确实进行了最新的Windows累积更新,但在那之后事情仍然正常运行。
我运行了以下命令查看是否有任何东西正在使用端口80:
sudo lsof -i :80
并且没有结果(我认为这意味着端口上没有运行任何内容)。
我运行了以下命令,检查是否还有其他容器正在运行:
docker ps
我已经停止、启动和重新启动了从Docker到整个机器的所有内容。
我的Docker覆盖文件具有以下ASP设置:
- ASPNETCORE_URLS=https://+:443;http://+:80
毫不意外地,移除 http://+:80 解决了我的问题,我的容器使用其 443 端口启动。
我完全不知道可能是什么原因导致这种情况,虽然我可以愉快地使用 :443 端口,但找出问题并解决它会更好。