我试图通过docker运行php内置服务器(php -S localhost:8080
),但我无法从主机访问网站 - 我总是以Connection重置为结束。Docker with php内置服务器
这里有一个简单的Dockerfile我建立在:
FROM centos:centos6
RUN rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm
RUN rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
RUN yum --enablerepo=remi,remi-php55 install -y php php-opcache php-cli php-pear php-common && yum clean all
RUN php -r "readfile('https://getcomposer.org/installer');" | php
RUN echo "date.timezone = Europe/Prague" >> /etc/php.ini
RUN mv composer.phar /usr/bin/composer
RUN php -r "eval('?>'.file_get_contents('http://backend.bolt80.com/piecrust/install'));"
RUN mv piecrust.phar /usr/bin/chef
CMD ["/bin/bash"]
它甚至有可能运行该服务器泊坞窗?在试图使其工作时,我发现当nginx安装并设置为在这个端口上侦听时,它可以从主机访问。 PHP内置服务器似乎对主机隐藏,因此无法提供任何请求。
任何人都成功地做这项工作?
你是如何开始你的容器? – Behe 2014-08-31 16:38:34
'docker run -it -p 8080:8080 container/bin/bash'然后我用'php -S localhost:8080'在需要的目录中手动启动服务器 – 2014-08-31 16:58:12
请注意,PHP的内部WebServer运行单线程并且不是对于任何生产环境! – Paul 2014-11-03 08:06:00