在docker上,nginx:[emerg] bind()到0.0.0.0:80失败(98:Address已被使用)
|
我正在尝试从nginx加载默认网页,但在容器运行后,我无法通过http连接到端口80. 我正在运行docker 1.9.9 我采取的步骤如下: 我创建了一个Docker文件:
该docker文件将下面的nginx配置文件复制到/ etc / nginx / sites-available / default中,并为/ etc / nginx / sites-enabled / default创建了一个符号链接到此文件.
然后我用
我启动了容器:
然后我找到了ip地址并尝试连接
哪个回来
我在容器中打开一个bash shell并运行nginx,它返回:
如果我运行netstat –listen我得到:
如果我运行netstat -ltnp | grep:80我得到:
我绝对不知道发生了什么. 如果我连接到nginx图像,也会发生同样的情况. 最佳答案 我已经尝试了你的Dockerfile,它已经按预期工作了.我所做的唯一的改变就是删除任何涉及到上级和添加的内容
在Docker文件的末尾. 当容器启动时,其网络命名空间与主机和其他容器完全隔离,唯一的进程是由ENTRIPOINT或CMD指令及其子进程启动的,所以我认为您看到的nginx进程在容器就是由supervisord运行的容器. 您确定172.17.0.2是docker容器的当前IP吗? 您使用运行选项’-p 80:80’在主机上公开http端口,因此您应该能够使用curl 127.0.0.1在docker主机上访问它. (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- nginx – 将多个目录限制为相同的IP范围
- nginx有一个类似于Apache的指令吗?
- apache – Symfony2:由于已经发送了标头,因此无法启动会话
- nginx – proxy_cache_和fastcgi_cache有什么区别?
- nginx – 上游过早关闭连接,同时从上游读取响应头
- linux – nginx:使用fastcgi的多个文档根
- linux – nginx不会将标头中的ip转发到apache(启用了rpaf)
- nginx proxy_pass和URL解码
- nginx – [emerg] bind()到0.0.0.0:80失败(98:地址已在使用
- linux – 如何更改Nginx默认文件夹?
- macos – Nginx PHP-FPM在Mountain Lion上非常慢
- docker自定义nginx容器无法启动
- 301在代理后面运行非标准端口的nginx机器上重定向
- 登录Nginx Gunicorn Supervisor Django时出错
- Nginx无法从docker 1.10.1中的嵌入式DNS获取主机
- django-Nginx:在CentOS 7上对Gunicorn套接字的权
- nginx – 如何在Amazon Application Load Balanc
- nginx和apache web服务器
- NgInx作为Kong的反向代理
- php – NGINX’Access-Control-Allow-Origin’标
