准备
在创建前,你需要准备:
编写 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 。
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