准备
在创建前,你需要准备:
- 安装 Docker。
- 了解 Dockerfile 。
编写 Dockerfile
FROM daocloud.io/php:5.6.6-fpm
RUN apt-get update && apt-get install unzip \
&& curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/master.zip \
&& unzip -d /tmp/ /tmp/cphalcon.zip \
&& cd /tmp/cphalcon-master/build \
&& ./install \
&& echo 'extension=phalcon.so' > /usr/local/etc/php/conf.d/phalcon.ini \
&& apt-get remove unzip \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/cphalcon* \
文件说明
- FROM 以 daocloud.io/php:5.6.6-fpm 为基础镜像
- 更新 apt-get 并安装 unzip (用于后面的解压扩展文件)
- 下载文件并安装
- 添加 php 配置(原始镜像启动时,会加载 /usr/local/etc/php/conf.d/ 目录下的所有文件 )
- 清除安装的 unzip、下载安装的文件及 apt 文件
生成镜像
docker build -t php5.6:phalcon .
-t
指定镜像的名称
.
用于生成镜像时指定 Dockerfile 的路径
测试
- 创建 php 文件 index.php 。
<?php
use Phalcon\Loader;
$loader = new Loader();
- 启动、进入镜像实例
docker run -it -d --name php -v you_code_dir:/var/www/html php5.6:phalcon
docker exec -it php bash
you_code_dir
一定要绝对路径。
运行 php index.php 无错误
php -m ,看得到扩展 phalcon 已安装
使用镜像
可以将生成的镜像 push 到仓库。
docker tag efb1fbb0f302 daocloud.io/<你的组织ID>/php5.6:phalcon
docker push daocloud.io/<你的组织ID>/php5.6:phalcon
就可以在任何地方使用的 phalcon 镜像了
网友评论