[deprecated] check https://gallery.ecr.aws/hk01/docker-php; Base on PHP image, include nginx, php
9.3K
Be based on php official image
- php-fpm 7.* - 8.0
- phpunit
- composer
- pecl
- openresty
WORKDIRWORKDIR /srv
As default, will be removed default php,nginx config file and be generated by ENV PARAMS
PHP 7.0/7.1 dose not include sodium libPHP 8.0 used xmlrpc version: 1.0.0RC2| image | php | openresty | composer | phpunit | swoole | mongodb | mysql | redis |
|---|---|---|---|---|---|---|---|---|
| 8.0-v0.1 | 8.0.3 | 1.19.3.1 | 1.10.21 | 9.5.4 | 4.6.6 | 1.9.1 | 8.0.3 | 5.3.4 |
| 7.4-v0.1 | 7.4.16 | 1.19.3.1 | 1.10.21 | 9.5.4 | 4.6.6 | 1.9.1 | 7.4.16 | 5.3.4 |
| 7.3-v0.5 | 7.3.27 | 1.19.3.1 | 1.10.21 | 9.5.4 | 4.6.6 | 1.9.1 | 5.0.12-dev | 5.3.4 |
| 7.3-v0.4 | 7.3.23 | 1.19.3.1 | 1.10.7 | 8.5.13 | 4.4.12 | 1.9.0 | 5.0.12-dev | 5.3.2 |
| 7.2-v0.6 | 7.2.34 | 1.19.3.1 | 1.10.21 | 8.5.15 | 4.6.6 | 1.9.1 | 5.0.12-dev | 5.3.4 |
| 7.2-v0.5 | 7.2.34 | 1.19.3.1 | 1.10.7 | 8.5.13 | 4.3.3 | 1.9.0 | 5.0.12-dev | 5.3.2 |
| 7.2-v0.4 | 7.2.25 | 1.15.8.3 | 1.10.7 | 8.5.5 | 4.4.12 | 1.7.4 | 5.0.12-dev | 5.2.2 |
| 7.2-v0.3 | 7.2.25 | 1.15.8.3 | 1.10.6 | 8.5.5 | 4.2.3 | 1.7.4 | 5.0.12-dev | 5.2.2 |
| 7.1-v0.4 | 7.1.33 | 1.19.3.1 | 1.10.21 | 7.5.20 | 4.4.12 | 1.9.1 | 5.0.12-dev | 5.3.4 |
| 7.1-v0.3 | 7.1.33 | 1.19.3.1 | 1.10.7 | 7.5.20 | 4.4.12 | 1.9.0 | 5.0.12-dev | 5.3.2 |
| 7.0-v0.4 | 7.0.33 | 1.19.3.1 | 1.10.21 | 6.5.14 | 2.2.0 | 1.9.1 | 5.0.12-dev | 5.3.4 |
| 7.0-v0.3 | 7.0.33 | 1.19.3.1 | 1.10.7 | 6.5.14 | 2.2.0 | 1.9.0 | 5.0.12-dev | 5.3.2 |
[PHP Modules]
bcmath
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
memcached
mongodb
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
swoole
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
init-token.shbash /script/init-token.shDockerfile# WORKLOAD ARGS
# default is "" , can input nginx,php
PARAMS=""
PARAMS=""
# php.ini config
PHP_OUTPUT_BUFFERING="4096"
PHP_DISABLE_FUNCTIONS="passthru,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server"
PHP_UPLOAD_MAX_FILESIZE="100M"
PHP_POST_MAX_SIZE="100M"
PHP_MAX_FILE_UPLOADS="20"
PHP_MAX_EXECUTION_TIME="600"
PHP_MAX_INPUT_TIME="600"
PHP_MEMORY_LIMIT="256M"
PHP_DATE_TIMEZONE="UTC"
PHP_DEFAULT_SOCKET_TIMEOUT="60"
# php-fpm config
PHP_LOG_LEVEL="warning"
PHP_EMERGENCY_RESTART_THRESHOLD="10"
PHP_EMERGENCY_RESTART_INTERVAL="1m"
PHP_PROCESS_CONTROL_TIMEOUT="60s"
PHP_LISTEN="0.0.0.0:9000"
PHP_LISTEN_BACKLOG="8192"
PHP_PM="static"
PHP_PM_MAX_CHILDREN="15"
PHP_PM_START_SERVERS="2"
PHP_PM_MIN_SPARE_SERVERS="2"
PHP_PM_MAX_SPARE_SERVERS="8"
PHP_PM_MAX_REQUESTS="102400"
PHP_REQUEST_TERMINATE_TIMEOUT="65"
PHP_REQUEST_SLOWLOG_TIMEOUT="2"
# nginx config
NGINX_ROOT="/srv/public"
NGINX_CLIENT_MAX_BODY_SIZE="8m"
NGINX_FASTCGI_PASS="127.0.0.1:9000"
NGINX_KEEPALIVE_TIMEOUT="600s"
NGINX_CLIENT_HEADER_TIMEOUT="600s"
NGINX_CLIENT_BODY_TIMEOUT="600s"
NGINX_FASTCGI_CONNECT_TIMEOUT="600s"
NGINX_FASTCGI_SEND_TIMEOUT="600s"
NGINX_FASTCGI_READ_TIMEOUT="600s"
NGINX_ACCESS_LOG_FORMAT='[$time_local] " " "$request" " " $status " " $request_time " " $upstream_response_time " " $body_bytes_sent " " $http_referer " " "$http_user_agent" " " $remote_addr " " $http_x_forwarded_for'
# php application config
PHP_ENABLE_LARAVEL_CONFIG_CACHE="false"
PHP_RW_DIRECTORY=""
docker run -ti --rm \
-e PARAMS=nginx \
-e NGINX_ROOT="/var/web/www/public" \
-e NGINX_CLIENT_MAX_BODY_SIZE="100m" \
hk01/docker-php:7.2-v0.1
docker run -ti --rm \
-e PARAMS=php \
-e PHP_PM="dynamic" \
-e PHP_POST_MAX_SIZE="8M" \
-e PHP_MAX_EXECUTION_TIME="600" \
-e PHP_RW_DIRECTORY="/srv/a,/srv/b,/srv/c" \
hk01/docker-php:7.2-v0.1
docker run -ti --rm \
-e PARAMS=php \
-e PHP_PM="static" \
-e PHP_PM_MAX_CHILDREN="20" \
hk01/docker-php:7.2-v0.1
docker run -ti --rm \
-e PARAMS=all \
hk01/docker-php:7.2-v0.6
docker run -ti --rm \
-e PARAMS=nginx \
-e NGINX_ACCESS_LOG_FORMAT='[$time_local] " " \"$request\" " " $status " " $request_time " " $upstream_response_time " " $body_bytes_sent " " $http_referer " " \"$http_user_agent\" " " $remote_addr " " $http_x_forwarded_for' \
hk01/docker-php:7.2-v0.6
php-docker-demo/
├── Dockerfile
├── README.MD
├── composer.json
└── public
└── index.php
FROM hk01/docker-php:7.2-v0.6 AS installer
COPY . .
RUN composer install
# build image
FROM hk01/docker-php:7.2-v0.6 AS build
COPY . .
RUN composer install --no-dev --no-progress -o
docker built -t example:v1 .
Content type
Image
Digest
Size
207.6 MB
Last updated
over 5 years ago
docker pull hk01/docker-php:7.4.16-fpm-buster-v0.1.178-dev