Docker image PHP & Nginx (Alpine Linux)
2.4K
webdevops/phpPHP & Nginx (stable) Version:
PHP Socket port: 127.0.0.1:9000
Nginx open port: 80 and 443
development or productionAsia/JakartaAs we build our images containing almost every PHP module and having it activated by default, you might want to deactivate some.
You can specify a comma-separated list of unwanted modules as dynamic
env variable PHP_DISMOD, e.g. PHP_DISMOD=ioncube,redis.
You can specify eg. php.memory_limit=256M as dynamic env variable
which will set memory_limit = 256M as php setting.
| Environment variable | Description | Default |
|---|---|---|
php.{setting-key} | Sets the {setting-key} as php setting | |
PHP_DATE_TIMEZONE | date.timezone | UTC |
PHP_DISPLAY_ERRORS | display_errors | 0 |
PHP_MEMORY_LIMIT | memory_limit | 512M |
PHP_MAX_EXECUTION_TIME | max_execution_time | 300 |
PHP_POST_MAX_SIZE | post_max_size | 50M |
PHP_UPLOAD_MAX_FILESIZE | upload_max_filesize | 50M |
PHP_OPCACHE_MEMORY_CONSUMPTION | opcache.memory_consumption | 256 |
PHP_OPCACHE_MAX_ACCELERATED_FILES | opcache.max_accelerated_files | 7963 |
PHP_OPCACHE_VALIDATE_TIMESTAMPS | opcache.validate_timestamps | default |
PHP_OPCACHE_REVALIDATE_FREQ | opcache.revalidate_freq | default |
PHP_OPCACHE_INTERNED_STRINGS_BUFFER | opcache.interned_strings_buffer | 16 |
You can specify eg. fpm.pool.pm.max_requests=1000 as dyanmic env
variable which will sets pm.max_requests = 1000 as fpm pool setting.
The prefix fpm.pool is for pool settings and fpm.global for global
master process settings.
| Environment variable | Description | Default |
|---|---|---|
| Sets the | |
FPM_PROCESS_MAX | process.max | distribution default |
FPM_PM_MAX_CHILDREN | pm.max_children | distribution default |
FPM_PM_START_SERVERS | pm.start_servers | distribution default |
FPM_PM_MIN_SPARE_SERVERS | pm.min_spare_servers | distribution default |
FPM_PM_MAX_SPARE_SERVERS | pm.max_spare_servers | distribution default |
FPM_PROCESS_IDLE_TIMEOUT | pm.process_idle_timeout | distribution default |
FPM_MAX_REQUESTS | pm.max_requests | distribution default |
FPM_REQUEST_TERMINATE_TIMEOUT | request_terminate_timeout | distribution default |
FPM_RLIMIT_FILES | rlimit_files | distribution default |
FPM_RLIMIT_CORE | rlimit_core | distribution default |
Due to the incompatibilities between composer v1 and v2 we introduce a simple mechanism to switch between composer versions.
| Environment variable | Description | Default |
|---|---|---|
COMPOSER_VERSION | Specify the composer version to use | 2 |
| Environment variable | Description | Default |
|---|---|---|
APPLICATION_ENV | Specify the application env development or production | production |
SKIP_COMPOSER | Installation in application | false |
TIMEZONE | Timezone | Asia/Jakarta |
# compose.yml
version: "3.7"
services:
application:
image: docker.io/asapdotid/php:8.1
expose:
- 9000
networks:
- application-net
environment:
- PHP_POST_MAX_SIZE=100M
- PHP_UPLOAD_MAX_FILESIZE=100M
volumes:
- ./projects/laravel:/app
- ./conf/supervisor/laravel.conf:/etc/supervisor/conf.d/laravel.conf
networks:
application-net:
name: application-net
driver: bridge
laravel.conf)Place config to /etc/supervisor/conf.d/laravel.conf
[group:laravel-worker]
priority=999
programs=laravel-schedule,laravel-notification,laravel-queue
[program:laravel-schedule]
numprocs=1
autostart=true
autorestart=true
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/bin/php /app/artisan schedule:run
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:laravel-notification]
numprocs=1
autostart=true
autorestart=true
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/bin/php /app/artisan notification:worker
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
[program:laravel-queue]
numprocs=5
autostart=true
autorestart=true
redirect_stderr=true
process_name=%(program_name)s_%(process_num)02d
command=/usr/local/bin/php /app/artisan queue:work sqs --sleep=3 --tries=3
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
docker composer up -d
MIT / BSD
This Code was created in 2023 by Asapdotid.
Content type
Image
Digest
sha256:3dd15c311…
Size
157.6 MB
Last updated
8 months ago
docker pull asapdotid/php-nginx:8.4-dev