运行docker给出端口不可用错误

Viv*_*Dev 6 docker

docker run --rm -it -p 8080:80 mcr.microsoft.com/dotnet/core/runtime:3.1 docker
run --rm -it -p 8080:80 mcr.microsoft.com/dotnet/core/sdk:3.1
docker run --rm -it -p 8080:80 mcr.microsoft.com/dotnet/core/aspnet:3.1

当我运行上述任何 docker 命令来创建容器时,出现以下错误。我为 linux 和 windows 都得到了这个。

C:\Program Files\Docker\Docker\resources\bin\docker.exe:来自守护进程的错误响应:端口不可用:监听 tcp 0.0.0.0:8080:绑定:尝试以禁止的方式访问套接字通过其访问权限。time="2020-03-24T17:20:44+05:30" level=error msg="等待容器的错误:上下文取消"

我尝试了这个SO ans 中给出的建议来找到进程 ID 并杀死它。

netstat 查找给定端口的进程

此外,我按照此处的建议找到了进程黑客,以观察该进程是什么。看起来它是一个系统进程。

进程黑客显示 ID 为 4 的进程

有人可以建议可以做什么吗?

Ita*_*ing 5

-p 8080:80说“将主机上的端口 8080 转发到容器中的端口 80”。端口 80 由容器镜像决定。端口 8080 是任意的——这是您选择的端口。

所以改为 do -p 8081:80,现在您将浏览器指向 localhost:8081 而不是 localhost:8080。

如果不起作用,那么也许是您的防火墙?

(有关端口转发如何工作的图表,请参阅https://pythonspeed.com/articles/docker-connection-refused/)。


der*_*imo 5

我的数据库端口(Lando/Docker)也遇到了类似的问题。在 PowerShell 中运行“net stop winnat”解决了这个问题。

net stop winnat
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

15553 次

最近记录:

4 年,2 月 前