docker拉取的php配置文件在哪里

由于和nginx连接配置时候出现502错误,想修改配置listen = 127.0.0.1:9000
为listen = 0.0.0.0:9000。
docker pull php中php为最新版本,进容器里面找不到配置文件在哪里,找到的话好映射出来修改。求大神解答

阅读 19.7k
4 个回答

问这种问题的说明你一定没有学习过怎么学习新的工具,很简单的一句话,所有不懂的问题优先查找官方文档。同样,Dokcer官方的镜像文档都很全啊,以下是php官方镜像文档地址:

https://hub.docker.com/r/arm64v8/php/

你要的答案如下:

We recommend that you add a custom php.ini configuration. COPY it into /usr/local/etc/php by adding one more line to the Dockerfile above and running the same commands to build and run:

FROM arm64v8/php:7.0-apache
COPY config/php.ini /usr/local/etc/php/
COPY src/ /var/www/html/

Where src/ is the directory containing all your PHP code and config/ contains your php.ini file.

这个其实官方文档中没有明确指明配置文件在哪,只是说了 php.ini 应该放在哪个目录。

但是自己可以用 find / -name php 命令找到。

除了 php.ini 的配置文件都在 /usr/local/etc

php.ini 需要自己添加

其实lz可以用 find / -name php 在找相应的文件

也可以去docker hub 中的php镜像 中查找官网文档。

php的配置文件如图所示

/usr/local/etc  
|-- log
|   `-- php-fpm
|       `-- xdebug.log
|-- pear.conf
|-- php
|   |-- conf.d
|   |   |-- docker-php-ext-gd.ini
|   |   |-- docker-php-ext-mysqli.ini
|   |   |-- docker-php-ext-opcache.ini
|   |   |-- docker-php-ext-pdo_mysql.ini
|   |   |-- docker-php-ext-redis.ini
|   |   |-- docker-php-ext-sodium.ini
|   |   |-- docker-php-ext-xdebug.ini
|   |   |-- docker-php-ext-yaf.ini
|   |   `-- docker-php-ext-zip.ini
|   `-- php.ini
|-- php-fpm.conf
|-- php-fpm.conf.default
`-- php-fpm.d
    |-- docker.conf
    |-- www.conf
    |-- www.conf.default
    `-- zz-docker.conf

这样的目录结构应该可以了吧。


补充一下, 也可以这样查找

php -i|grep php.ini

docker容器互相连接的话应该用--link

> docker run --name php -d php
> docker run --link php nginx

然后 nginx.conf 改成

fastcgi_pass    php:9000;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏