我尝试在 Windows 10 Pro 工作站上运行 docker 映像,但收到此错误:
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Run Code Online (Sandbox Code Playgroud)
我正在运行这个命令:
docker run -d -p 80:80 docker/getting-started
Run Code Online (Sandbox Code Playgroud)
并得到此响应:
Unable to find image 'docker/getting-started:latest' locally
latest: Pulling from docker/getting-started
188c0c94c7c5: Pull complete
617561f33ec6: Pull complete
7d856acdaa9c: Pull complete
a0d3c6e28e6d: Pull complete
af69a9b963c8: Pull complete
0739f3815ad8: Pull complete
7c7b75d0baf8: Pull complete
Digest: sha256:b821569034e3b5fae03b40e64a866017067f3bf17effe185b782bdbf02179528
Status: Downloaded newer image for docker/getting-started:latest
7907f6de2b55cc2d66b5ed3a642ac1a97e5bb5ecda5fcf76ff60d7236e8fd32d
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:80: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
Run Code Online (Sandbox Code Playgroud)
如何运行 Docker 容器并解决这个问题?
gtu*_*gtu 30
对我有帮助的命令是:
net stop winnat
net start winnat
Run Code Online (Sandbox Code Playgroud)
取自这里。
Tim*_*phy 10
80通过运行命令检查是否有东西正在侦听端口PowerShell:
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
如果响应是这样的:
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0.20 4.87 0.00 4 0 System
Run Code Online (Sandbox Code Playgroud)
然后它就被拍摄了。终止进程或简单地更改端口
docker run -d -p 81:81 docker/getting-started 5a0b1202f48ef63c06d75c2f26be2a05f29aa84fe2fbdc5b66f989aa86df98f
Run Code Online (Sandbox Code Playgroud)
docker:来自守护程序的错误响应:端口不可用:监听 tcp 0.0.0.0:80:绑定:尝试以访问权限禁止的方式访问套接字。
我还使用了Docker 的入门教程,运行了
docker run -d -p 80:80 docker/getting-started,并得到了相同的错误。
我认为 Internet 信息服务 (IIS) 可能已经在使用端口 80。我通过去验证了这个预感
开始 > IIS > 计算机名称 > 站点 > 默认网站 > 突出显示默认网站
在右侧窗格中,我看到
浏览 *.80 (http)
是的,80 端口已被使用!
注意:要验证是否有任何进程正在使用端口 80,请运行命令
Get-Process -Id (Get-NetTCPConnection -LocalPort 80).OwningProcess
并寻找类似的东西
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
0 0.20 2.96 0.00 4 0 System
Run Code Online (Sandbox Code Playgroud)
根据@Tim Dunphy 的回答。
停止默认网站。
net stop http命令,停止使用该端口的服务。您可能不想停止 IIS 或在端口 80 上运行的任何其他服务,因此只需更改本地端口即可!例如,
docker run -d -p 81:80 docker/getting-started
只要您没有使用端口 81 的服务,就可能会成功。
| 归档时间: |
|
| 查看次数: |
19345 次 |
| 最近记录: |