- Docker Images
- Environment Variables
- Build arguments
- PHP Extensions
- Tools
- Libraries
- Changelog
- Users and permissions
- Crond
- SSHD
- Adding SSH key
- Complete PHP-based stack
- Images based on
wodby/php
- Orchestration Actions
❗For better reliability we release images with stability tags (wodby/php:7.4-X.X.X
) which correspond to git tags. We strongly recommend using images only with stability tags.
About images:
- All images are based on Alpine Linux
- Base image: wodby/base-php
- Travis CI builds
- Docker Hub
Supported tags and respective Dockerfile
links:
7.4
,7
,latest
(7/Dockerfile)7.3
(7/Dockerfile)7.2
(7/Dockerfile)7.4-dev
,7-dev
,dev
(7/Dockerfile)7.3-dev
(7/Dockerfile)7.2-dev
(7/Dockerfile)7.4-dev-macos
,7-dev-macos
,dev-macos
(7/Dockerfile)7.3-dev-macos
(7/Dockerfile)7.2-dev-macos
(7/Dockerfile)
Images with -dev
tag have a few differences:
sudo
allowed for all commands forwodby
user- PHP source code available under
/usr/src/php.tar.xz
PHP_FPM_CLEAR_ENV
is set tono
by default
Same as -dev
but the default user/group wodby
has uid/gid 501
/20
to match the macOS default user/group ids.
Include all changes from -dev
images and additionally:
- PHP compiled with
--enabled-debug
flag - PHP binaries are not stripped from debug symbols
- Some extensions do not work with
--enabled-debug
such as newrelic and blackfire PHP_FPM_LOG_LEVEL
is set todebug
by default
We currently do not build -debug images to save build time
The default configuration is not recommended to be used for production environment:
"-" - Not available for this version
Default value of environment variables marked with
*
is different for-dev
and-debug
images
Variable | Default value |
---|---|
GIT_USER_EMAIL |
[email protected] |
GIT_USER_NAME |
wodby |
SSH_PRIVATE_KEY |
|
SSH_DISABLE_STRICT_KEY_CHECKING |
|
SSHD_GATEWAY_PORTS |
no |
SSHD_HOST_KEYS_DIR |
/etc/ssh |
SSHD_LOG_LEVEL |
INFO |
SSHD_PASSWORD_AUTHENTICATION |
no |
SSHD_PERMIT_USER_ENV |
yes |
SSHD_USE_DNS |
yes |
Argument | Default value |
---|---|
PHP_VER |
|
PHP_DEV |
|
PHP_DEBUG |
|
WODBY_GROUP_ID |
1000 |
WODBY_USER_ID |
1000 |
Change WODBY_USER_ID
and WODBY_GROUP_ID
mainly for local dev version of images, if it matches with existing system user/group ids the latter will be deleted.
You can disable extension by listing them in $PHP_EXTENSIONS_DISABLE
separated by ,
, e.g. $PHP_EXTENSIONS_DISABLE=event,ds
Extension | 7.4 | 7.3 | 7.2 |
---|---|---|---|
amqp | 1.9.4 | 1.9.4 | 1.9.4 |
apc | - | - | - |
apcu | 5.1.18 | 5.1.18 | 5.1.18 |
ast | 1.0.5 | 1.0.5 | 1.0.5 |
blackfire | latest | latest | latest |
bcmath | |||
bz2 | |||
calendar | |||
Core | |||
ctype | |||
curl | |||
date | |||
dom | |||
ds | 1.2.9 | 1.2.9 | 1.2.9 |
exif | |||
ereg | - | - | - |
event | 2.5.3 | 2.5.3 | 2.5.3 |
fileinfo | |||
filter | |||
ftp | |||
gd | |||
grpc | 1.23.1 | 1.23.1 | 1.23.1 |
hash | |||
iconv | |||
igbinary | 3.0.1 | 3.0.1 | 3.0.1 |
imagick | 3.4.4 | 3.4.4 | 3.4.4 |
imap | |||
intl | |||
json | |||
ldap | |||
libxml | |||
mbstring | |||
mcrypt | 1.0.3 | 1.0.3 | 1.0.3 |
memcached | 3.1.4 | 3.1.4 | 3.1.4 |
mongodb | 1.6.0 | 1.6.0 | 1.6.0 |
mysql | - | - | - |
mysqli | |||
mysqlnd | |||
newrelic | latest | latest | latest |
OAuth | 2.0.4 | 2.0.4 | 2.0.4 |
openssl | |||
pcntl | |||
pcre | |||
PDO | |||
pdo_mysql | |||
pdo_pgsql | |||
pdo_sqlite | |||
pgsql | |||
Phar | |||
posix | |||
rdkafka | 3.1.2 | 3.1.2 | 3.1.2 |
readline | |||
redis | 4.3.0 | 4.3.0 | 4.3.0 |
Reflection | |||
session | |||
SimpleXML | |||
soap | |||
sockets | |||
sodium | |||
SPL | |||
sqlite3 | |||
standard | |||
tideways_xhprof | v5.0-beta3 | v5.0-beta3 | v5.0-beta3 |
tidy | |||
tokenizer | |||
uploadprogress | latest | latest | latest |
uuid | 1.0.4 | 1.0.4 | 1.0.4 |
xdebug | 2.9.2 | 2.9.2 | 2.9.2 |
xml | |||
xmlreader | |||
xmlrpc | |||
xmlwriter | |||
xsl | |||
yaml | 2.0.4 | 2.0.4 | 2.0.4 |
Zend OPcache | |||
zip | |||
zlib |
Legend:
Extensions xdebug, blackfire and xhprof disabled by default.
Tool | 7.4 | 7.3 | 7.2 |
---|---|---|---|
Composer | latest | latest | latest |
Walter (deprecated) | 1.4.0 | 1.4.0 | 1.4.0 |
All essential linux libraries are freezed and updates will be reflected in changelog.
Changes per stability tag reflected in git tags description under releases.
You can run Crond with this image changing the command to sudo -E LD_PRELOAD=/usr/lib/preloadable_libiconv.so crond -f -d 0
and mounting a crontab file to ./crontab:/etc/crontabs/www-data
. Example crontab file contents:
# min hour day month weekday command
*/1 * * * * echo "test" > /mnt/files/cron
You can run SSHD with this image by changing the command to sudo /usr/sbin/sshd -De
and mounting authorized public keys to /home/wodby/.ssh/authorized_keys
You can add a private SSH key to the container by mounting it to /home/wodby/.ssh/id_rsa
Default container user is wodby:wodby
(UID/GID 1000
). PHP-FPM runs from www-data:www-data
user (UID/GID 82
) by default. User wodby
is a part of www-data
group.
Codebase volume $APP_ROOT
(/var/www/html
) owned by wodby:wodby
. Files volume $FILES_DIR
(/mnt/files
) owned by www-data:www-data
with 775
mode.
See wodby#22 for more details.
-
files_chmod
– in case you need write access forwodby
user to a file/dir generated bywww-data
on this volume runsudo files_chmod [FILEPATH]
script (FILEPATH must be under/mnt/files
), it will recursively change the mode toug=rwX,o=rX
-
files_chown
– in case you manually uploaded files underwodby
user to files volume and want to change the ownership of those files towww-data
runsudo files_chown [FILEPATH]
script (FILEPATH must be under/mnt/files
), it will recursively change ownership towww-data:www-data
- wodby/drupal-php
- wodby/wordpress-php
- wodby/adminer
- wodby/matomo
- wodby/cachet
- wodby/webgrind
- wodby/xhprof
Usage:
make COMMAND [params ...]
commands:
migrate
check-ready [host max_try wait_seconds delay_seconds]
git-clone url [branch]
git-checkout target [is_hash]
files-import source
files-link public_dir
update-keys
walter
default params values:
is_hash 0
branch "" Branch, tag or hash commit