Docker与php内置服务器
我试图通过docker运行php内置服务器(php -S localhost:8080),虽然我无法从主机访问网站 – 我总是以连接重置为止. 这是我构建的一个简单的Dockerfile:
是否可以使用docker运行此服务器?在尝试使其工作时,我发现当安装nginx并设置为侦听此端口时,可以从主机访问它. PHP内置服务器似乎是从主机隐藏的,因此无法提供任何请求. 有人成功完成这项工作吗? 最佳答案
如果从docker容器中启动带有php -S localhost:8080的Web服务器,则Web服务器将只接受来自docker容器本身的连接.
为了能够从docker主机与您的Web服务器进行通信,您需要进行两项更改: >在Dockerfile中,添加EXPOSE 8080,或者在运行容器时将-p 8080添加到docker run命令行.这将告诉docker主机您的容器有一个程序,该程序需要在端口8080上进行通信 让容器运行这些更改后,在docker主机上打开一个新终端,并使用docker ps命令查看docker主机上的哪个端口被转发到容器中的端口8080.例如:
在此示例中,将使用docker主机的端口49153.然后查询您的网络服务器以验证您是否可以与之通信: $curl http:// localhost:49153 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |