要运行真正的应用,我们可能需要再为 php 服务安装一些扩展 ... 在这个 php 服务的 Dockerfile 里面,添加一个 RUN ,去执行一些命令 ...
这个 php:7.0-fpm 用的是 debian ,所以安装包可以使用 apt-get .. 先执行一下 apt-get update ... 两个 && 符合可以继续执行其它的命令 .. 再用一下 apt-get install -y ,去安装需要的包,我们在安装 php 扩展之前要先安装这些扩展依赖的其它的一些包 ..
比如我要安装一个处理图像用的 gd 扩展 .. 它需要 libpng12-dev .. 还有 libjpeg-dev 这两个包 .. 后面加上一个反斜线,然后可以另起一行,继续添加其它的要执行的命令 ..
使用两个 & 符号连接一下 ... 可以使用 rm 删除掉 /var/lib/apt/lists 下面的所有的东西 ...
php 镜像里面提供了几个小工具,比如配置扩展可以使用 docker-php-ext-configure ... 配置一下 gd 扩展 .. 加上一个 --with-png-dir 选项 .. 启用 gd 扩展的处理 png 图像的功能 .. 再用一个 --with-jpeg-dir ... 启用一下处理 jpeg 图像的功能 ...
另起一行 .. 再执行一下 docker-php-ext-install ... 去安装需要的 php 扩展 .. 这里我们安装一下 gd 这个扩展 .. 还有 pdo_mysql .. 它提供了一个操作 mysql 数据库的功能 ... 再添加一个 zip 扩展 .. 还有一个 opcache ...
这个扩展我们可以单独去配置一下它 ... 在 images/php/config 目录下面创建一个文件 .. 名字是 opcache-recommended.ini ...
里面添加一些配置选项 ... 这些选项是我从 docker 官方的库里偷过来的 .. 想了解它们是什么意思可以去搜索一下 ...
下面再用一下 COPY ... 把这个配置文件,复制到镜像的 php 配置文件所在的目录里面 ...
保存 ...
回到终端 ... 执行一下 docker-compose build ... docker 会按照我们在 Dockerfile 里面的配置重新生成镜像 ...
需要等一会儿 .. 因为要下载挺多东西 ...
完成以后 .. 再执行一下 docker-compose up -d ....
回到浏览器 .... 刷新一下 ... 我们可以在这个 php 信息的页面上,搜索一下刚才安装的扩展的名字 ... 比如 gd ...
你可以找到一个区域,上面有 gd 扩展的相关信息 ... 我们还安装了 opcache .... 在这里也可以找到 ... 你可以参考它下面的这些配置 ...
里面有些选项对应的值就是我们自己定义的 ....