Giter Site home page Giter Site logo

base-images's Introduction

PHPDocker.io base images

Repository of base images for PHPDocker.io generated environments.

Images are built daily in order to fetch the latest base image changes as well as available php versions.

OS Base images & PHP Package Sources

All images use an Ubuntu LTS release as base image, except for PHP5.6 which uses Debian Jessie. For each of these base OS images, we use a third party source for the PHP packages - these packages come from Ondřej Surý who is the official maintainer for PHP in Debian which is the origin of all packages in Ubuntu.

In most cases, we override Ubuntu's PHP packages with Ondřej's to ensure we always have the very latest. For instance, Ubuntu 20.04 comes with php 7.4.3 but we still install Ondřej's packages to ensure you get the absolutest latest version of php 7.4 every time. Ubuntu backport security fixes, but not necessarily bugfixes from later patch releases.

Image types

Each PHP version has its own image, and for each php version, we have a cli and an fpm variant. These two are identical, except for the fact the fpm contains php-fpm and their default command is of course php-fpm.

We're using CMD instead of ENTRYPOINT because I don't want to dictate how you use these images. If I were to set an ENTRYPOINT you would not be able to easily open a bash shell into either container using docker run or docker exec or docker-compose equivalent without you needing to re-build the container.

Built-in php extensions

Each image contain the extensions below. Some versions of PHP have the same functionality in core - for instance, json is part of core PHP in php 8+:

  • APCu & APCu-bc
  • cURL
  • JSON (from 8.0, part of php core)
  • MBString
  • MCrypt (php <= 7.0)
  • OPCache
  • ReadLine
  • Sodium (from 7.1; from 7.2, part of php core)
  • XML
  • ZIP

These are the minimum extensions I consider necessary for any modern PHP app. They're required by the likes of composer, the symfony/* libraries etc.

Composer

All images use the composer v2. If for whatever reason you need to roll back to v1, add the following to your Dockerfile

COPY --from=composer:1 /usr/bin/composer /usr/bin/composer

Available images:

Notes:

  • Unsupported versions are past PHP EOL (End of Life)
  • Daily builds are turned off for versions that run on an OS base that's also EOL (for instance, Debian Jessie)
  • Daily builds are kept for PHP versions that have reached EOL but the base OS has not - the base OS still receives security updates, including the PHP runtime.
  • In general, do not use any unsupported images in a production environment, regardless of whether daily builds are still enabled
  • Old images are kept in docker hub in the interest of enabling legacy apps to run
  • Ondřej Surý is PHP's package maintainer in Debian. His Ubuntu PPA PPA allows us to have more up to date packages beyond those provided by the base image OS.
PHP version CLI image FPM image Source Supported Daily builds?
8.0 (swoole) phpdockerio/php80-swoole n/a Swoole sources
8.0 phpdockerio/php80-cli phpdockerio/php80-fpm Ubuntu 20.04 + Ondřej Surý ppa
7.4 (swoole) phpdockerio/php74-swoole n/a Swoole sources
7.4 phpdockerio/php74-cli phpdockerio/php74-fpm Ubuntu 20.04 + Ondřej Surý ppa
7.3 phpdockerio/php73-cli phpdockerio/php73-fpm Ubuntu 18.04 + Ondřej Surý ppa
7.2 phpdockerio/php72-cli phpdockerio/php72-fpm Ubuntu 18.04 + Ondřej Surý ppa
7.1 phpdockerio/php71-cli phpdockerio/php71-fpm Ubuntu 16.04 + Ondřej Surý ppa
7.0 phpdockerio/php70-cli phpdockerio/php70-fpm Ubuntu 16.04
5.6 phpdockerio/php56-cli phpdockerio/php56-fpm Debian Jessie

base-images's People

Contributors

alister avatar jefhar avatar luispabon avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.