win10 Docker run nginx报错

在Win10系统中,尝试使用Docker运行Nginx时遇到错误,守护程序响应错误提示端口已被IIS占用。解决方法包括关闭IIS服务或者更改Docker命令中的端口号。若端口被Docker内其他容器占用,可通过列出并删除容器来释放端口,重启Docker服务即可解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题产生及原因

docker容器在运行下方命令时发生错误

docker run --detach --publish 80:80 --name webserver nginx

错误是这样说的

docker: Error response from daemon: driver failed programming external connectivity on
endpoint webserver (1d0b21c3f7848b58738ab19b2f0c7a3b3001d3c7cb799cc8348ab292faaef44b):
Error starting userland proxy: listen tcp 0.0.0.0:80: bind: An attempt was made to access 
a socket in  a way forbidden by its access permissions.

其大致是说守护程序响应错误:驱动程序在端点web服务器上编程外部连接失败,启动用户代理时出错:侦听tcp 0.0.0.0:80: 约束:试图以其访问权限禁止的方式访问套接字。
那么是为什么呢?
这里错误产生的原因是端口映射发生错误,即--publish 80:80这一段命令执行报错,那为什么无法映射呢?肯定是端口被占用了啊,于是小编干脆用浏览器直接搜索http://localhost/:80,果然端口被IIS占用了
在这里插入图片描述

解决方案

1.关闭IIS服务
2.把执行命令中端口号换掉(不推荐,端口映射最好与docker端口对应)
关闭IIS后小编再次去浏览

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值