newfuture/yaf
: the minimal docker image for yaf extension (default environment is dev )
PHP YAF images based on alpine (the mini docker image which is about 1.8MB after compressed !)
- YAF
- php-memcached
- php-redis
- PDO-*
- mcrypt
- curl
- gd
VAR | default | description |
---|---|---|
TIMEZONE |
UTC | for date.timezone setting ini php.ini |
MAX_UPLOAD |
50M | upload_max_filesize setting |
DISPLAY_ERROR |
1 | display_errors to show php errors |
STARTUP_ERROR |
1 | display_startup_errors to display statrtup errors |
ASSERTIONS |
0 | zend.assertions , only php7 supported: -1 close, 1 open |
- pull image
docker pull newfuture/yaf
docker pull newfuture/yaf:fpm
- run your yaf app : replace
"/PATH/OF/YAF/APP/"
with your app path , and it will auto detect public path (if existpublic folder
and not existindex.php
,use thepublic
as web root)
docker run -it --rm -p 1122:80 -v "`pwd`":/yaf newfuture/yaf
- run in background
docker run -d -p 1122:80 -v "`pwd`":/yaf newfuture/yaf
- using php5
docker run -it --rm -p 1122:80 -v "`pwd`":/yaf newfuture/yaf:php5
Build with travis
-
注册 https://www.travis-ci.org/ , 使用 github账户授权登录
-
同步后在
Settings
页面的仓库列表中开启Github上的项目 (https://www.travis-ci.org/account/repositories) -
使用当前项目
master
分支提交到自己的仓库中 -
默认情况下 travis 会帮你构建
-
提交前需要准备一个 secure 加密参数
token 方式连接github, 使 travis 可以将打包好的项目方到github仓库中
- 本机安装 travis
$ gem install travis
- 登录
$ travis login
# 根据提示输入 github的账户密码
- 获取 github 的 access token
在github的settings -> Developer settings -> Personal access tokens
页面 Generate new token
生成一个token
- 加密这个token
本机执行
# 项目目录下执行
cd /home/yaf-docker
# 其中 xxx 即为在github中生成的token
travis encrypt GH_TOKEN=xxx
- 加密后得到一个字符串, 替换
.travis.yml
中的- secure: "xxx"
内容
- secure: "xxx"
-
提交修改,等待
travis
构建 -
登录
travis
查看构建日志可了解更多构建信息
php-fpm 版本请参考以下nginx配置;
需要注意 root 目录配置, docker内的工作目录是 /yaf
, 也可以写 fastcgi_param
来指定目录位置
$ docker run --name fpm-test -it --rm -p 9000:9000 -v /Users/Jainboo/Sites/yourdomain.com:/yaf jianboo/yaf:latest
server
{
listen 80;
server_name yourdomain.com;
index index.html index.php;
root /home/wwwroot;
location / {
}
location ~ .*\.(php|php5)?$ {
# WORKDIR
root /yaf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
include fastcgi_params;
}
}