问题描述
这是我的Dockerfile内容:-
FROM PHP:7.0-apache
copY src/ /var/www/html/public
VOLUME src/ /var/www/html/public
EXPOSE 800
然后我运行此命令。
docker run -p 80:800 final
所以我试图访问localhost,但是它返回'ERR_EMPTY_RESPONSE'。
更早时出现403错误。
OS-Mac
[编辑]添加更多详细信息
解决方法
默认情况下,php:7.0-apache
图像在端口80
上侦听。您在EXPOSE
中使用的Dockerfile
不会对此进行更改。
通常,您没有理由尝试更改容器的默认侦听端口,因此它具有其自己的IP地址,因此永远不要遇到端口冲突问题。
端口选择可能是主机上的一个问题,因此,您可以选择在未使用的任何端口上发布。
如果您仅在docker run命令中交换80
和800
,您将能够通过localhost:800
访问网络应用
以下命令将从主机端口<src>
到容器端口80
创建DNAT规则,从而可以访问localhost:<src>
上的Web应用程序
docker run -p <src>:80 final
编辑禁止回答的问题更新:
php:7.0-apache
图像将在/var/www/html/
下寻找索引。*。您的Dockerfile正在将源复制到/var/www/html/public
。