Alz*_*Alz 59 docker windows-10
我在Windows 10 Pro下运行最新的Docker CE,17.09,并使用两个不同的示例获得Permission denied.
Docker站点示例:
docker run -d -p 80:80 --name webserver nginx
AWS站点Docker示例:
docker run -p 80:80 hello-world
两者都返回了同样的错误.
docker:来自守护程序的错误响应:驱动程序在端点XXXXX上编程外部连接失败:启动userland代理时出错:绑定0.0.0.0:80:意外错误权限被拒绝.
Alz*_*Alz 59
我在Windows 10 Pro上解决了我的问题,原来我以某种方式打开了万维网发布服务.花了一段时间才发现,经过注意netstat -a -n
,我有一个:80听众某处/不知何故.傻我.关闭它,我对端口80很好.
小智 31
使用以下命令更改端口,如下所示:
docker container ls //show the container infos, note the ports info.
docker stop webserver
docker rm webserver //shut down currently webserver
docker run -d -p 8080:80 --name webserver nginx (or 8000:80)
Run Code Online (Sandbox Code Playgroud)
最后,让我们输入localhost:8080来显示浏览器中的连接是否成功.
tru*_*512 14
问题是一般用途的港口一样80
,443
,22
,.(一般港口< 1024
)是系统保护的,所以你需要的权限来使用它们,这将是足以成为系统管理员和执行命令作为管理员.
如果不必:80
尝试使用其他端口,例如:8080
,如果这没有帮助并且错误没有改变,则问题会更深入.
Oks*_*niv 11
在macOS Mojave Version 10.14.2上,这个命令对我有用:
sudo apachectl stop
Run Code Online (Sandbox Code Playgroud)
在执行此命令之前,请运行
sudo lsof -i -P | grep “LISTEN"
Run Code Online (Sandbox Code Playgroud)
并检查是否 httpd
是侦听器的标识符,:80
例如:
如果是,那么它实际上是导致问题的Mac apache.
您应该采取的第一步操作是运行以下命令:
netstat -aon | findstr [port#]
这将告诉您进程是否在给定的端口上运行。如果是这种情况,则可以使用以下命令终止该进程:
taskkill /PID [PID] /F
这将终止使用该端口的进程。然后,您将能够将新进程绑定到端口。
我还遇到过一个时间,当我netstat -aon
没有返回某个进程正在为我要使用的端口运行时,但是确实有一个正在运行的进程正在不允许我在该端口上运行一个新进程。我可以通过以下方法解决此问题:
通过网络以安全模式启动Windows
在powershell / cmd中运行命令:
netsh int ipv4 add excludedportrange protocol=tcp startport=[PORT] numberofports=1
这将保留该端口,因此,当您引导回到正常的Windows模式时,没有应用程序会盗用该端口,然后才能使用它。
归档时间: |
|
查看次数: |
61742 次 |
最近记录: |