微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker安装php一直不动

docker安装php一直不动

这篇文章主要探讨Docker安装PHP时一直不动的问题。使用Docker安装和部署PHP应用时,有时候我们会遇到这样的问题:在启动Docker容器后,命令行没有任何输出,而且容器没有显示为正在运行状态,这种情况下我们应该如何解决呢? 在使用Docker安装PHP时,通常需要使用Dockerfile文件来指定镜像的描述,例如: ``` FROM PHP:7.2-apache copY index.PHP /var/www/html/ EXPOSE 80 ``` 上面的代码片段表示我们使用了一个基于PHP:7.2-apache镜像的Docker容器,并将index.PHP文件复制到/var/www/html/目录下,然后暴露80端口。 当我们使用该Dockerfile文件构建镜像时,有时候会遇到构建过程一直不动的情况,例如,构建过程停留在以下输出中: ``` ... PHP Core checking for a sed that does not truncate output... /bin/sed checking if a PHP $cfg['Libdir'] is already set... yes checking chosen os... linux-gnu checking compiler... gcc checking for common suffixes... yes ... ``` 在这种情况下,我们可以尝试重新构建镜像,通常可以解决该问题。 另外,有时候我们会发现使用基于PHP官方镜像的Docker容器时,构建过程也可能会卡住。例如,下面的Dockerfile文件: ``` FROM PHP:latest copY index.PHP /var/www/html/ ``` 在构建该镜像时,如果Docker容器卡在以下输出时: ``` ... In file included from /usr/local/include/PHP/main/PHP.h:26:0,from /usr/local/include/PHP/PHP.h:35,from /usr/src/PHP/ext/date/PHP_date.h:25,from /usr/src/PHP/ext/date/lib/parse_date.re:30: /usr/local/include/PHP/Zend/zend.h:51:10: Fatal error: zend_config.h: No such file or directory #include "zend_config.h" ^~~~~~~~~~~~~~~~ compilation terminated. ... ``` 这种情况通常是由于网络问题导致的。在这种情况下,我们可以通过修改Dockerfile文件来使用中国镜像或者本地下载的PHP源码来解决该问题,例如: 使用中国镜像: ``` FROM registry.docker-cn.com/library/PHP:latest copY index.PHP /var/www/html/ ``` 使用本地下载的PHP源码: ``` FROM scratch as source ADD http://cn2.PHP.net/get/PHP-7.2.12.tar.gz /PHP.tar.gz RUN tar zxvf /PHP.tar.gz FROM PHP:7.2-apache copY --from=source /PHP-7.2.12 /usr/local/src/PHP copY index.PHP /var/www/html/ EXPOSE 80 ``` 当然,还有其他方法解决这个问题,该问题的根源是由于Docker环境出现了问题,我们可以查看Docker的日志记录,寻找错误原因。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐