docker内nginx 80端口被占用
[root@8f52078ea4e6 config]# nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
docker容器配置的端口对应关系: 22/tcp, 0.0.0.0:80->80/tcp
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不是很确定,但是和docker的端口映射应该是没关系的,docker的关系映射相当于是再virtual box里面配了一个端口匹配规则,不会占用这个端口的,相当于外部端口转发到内部容器端口里。
所以你这个错误应该是docker内部端口被占了。试一下lsof -i :80看看
用的什么镜像?
如果官方的nginx的话, nginx进程已经启动了, 这时你当然不能再在80上启动另一个
题主可以进入nginx的docker container实例,查看一下nginx是否已经启动:
如果已经启动,则不需要在重复启动了
你这已经是在容器中了吧,你的nginx容器启动后,80端口就已经起来了,你在运行nginx,肯定显示被占用了。