在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在 创建容器 # 创建容器 docker run -d \ --name php56-fpm \ -p 9056:9000 \ -v /home/wwwroot:/var/www/html --privileged=true php:5.6-fpm 注意:
在使用 即宿主机上的 所以 server { listen 8056; .... # 宿主机的站点根目录 root /home/wwwroot/siteA/public; location ~* (^[/]*.php)[/|$] { # 容器中的站点根目录 root /var/www/html/siteA/public; pass_proxy: 127.0.0.1:9056; include fastcgi.conf; } } 不过一般情况下大家都是 登陆容器 # 查看容器是否运行 docker ps # 登陆容器 docker exec -it php56-fpm /bin/bash php 的 docker 镜像是基于 ubuntu 我们可以使用 apt-get 安装需要的工具,比如 vim/vi lrzsz net-tools 之类的。 # 在使用 apt-get 安装一些工具前,需要 update 更新一下源 # 否则会 apt-get E: Unable to locate package apt-get update apt-get install vim 安装 php/pecl 扩展 安装 php 扩展 即 php 官方扩展,比如 shomp 这种自带但默认不开启的扩展。 # 查看自带了那些扩展 cd /usr/local/php/ext && ls -l # 安装扩展 dcoker-php-ext-install shmop 安装 pecl 扩展 容器中是有安装 pecl的,所以直接使用 pecl 安装即可,注意扩展对 php 版本的支持即可。 docker-php-ext-enable的主要用途是生成扩展相应的配置文件到 /usr/local/etc/php/conf.d/docker-php-ext-{extName}.ini 方便 php 加载扩展。 # igbinary php5.6 最高版本是 2.0.8 pecl install igbinary-2.0.8 docker-php-ext-enable igbinary # phpredis php5.6 最高版本是 4.3.0 pecl install redis-4.3.0 docker-php-ext-enable redis # swoole php5.6 最高版本是 2.0.11 pcel install swoole-2.0.11 docker-php-ext-enable swoole php/php-fpm 配置 /usr/local/etc 是 php 容器的配置目录,里面自带了 php 及 php-fpm 的配置文件,配置目录结构如下: root@aa739592b579:/usr/local# tree etc/ etc/ |-- pear.conf |-- php # php 配置目录 | |-- conf.d # php 扩展配置 | | |-- docker-php-ext-shmop.ini | |-- php.ini # cp 的 php.ini-development/production | |-- php.ini-development | |-- php.ini-production |-- php-fpm.conf # php-fpm 的配置 自带的主要是引入 php-fpm.d |-- php-fpm.conf.default # php-fpm 配置本体 同 php-fpm.d/www.conf 一致 |-- php-fpm.d # php-fpm 的扩展配置 |-- docker.conf |-- www.conf # php-fpm 配置本体 模式啊 max/min children 啊都在这里 |-- zz-docker.conf 你可映射宿主机的配置目录到容器的 /usr/local/etc,但要注意宿主机上的配置目录与容器现有的要保持一致,或者直接在容器里编辑配置文件。按 docker 的理念我们应该在宿主机上维护一份配置文件映射到容器的配置目录上,这样才能发挥出 docker 容器的复用性。 映射宿主机的 php 配置文件到容器 -v /opt/docker/conf/php/php.ini:/usr/local/etc/php/php.ini -v /opt/docker/conf/php/php-fpm.ini:/usr/local/etc/php-fpm.d/www/conf 常见问题 1、File not found 2、apt-get E: Unable to locate package 3、容器的相关约定 到此这篇关于docker 安装 php-fpm 服务 / 扩展 / 配置的文章就介绍到这了,更多相关docker 安装 php-fpm内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论