Skip to content

Docker image to run PHPUnit with Symfony

License

Notifications You must be signed in to change notification settings

jsunier/php-symfony-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsunier/php-symfony-test

Docker image to run PHPUnit with Symfony 3.x/4.x/5.x on PHP 7.1/7.2/7.3/7.4/8.0.

Docker container allowing you to build and test your PHP projects.

Supported tags and respective Dockerfile links

This image is published on the Docker Hub at this address : https://hub.docker.com/r/jsunier/php-symfony-test.

All the dockerfiles are available on Github.

This image contains multiple versions available for testing your code with PHPUnit and Symfony.

Usage

Informations

For now, there is only two available database adapters for the available PHP versions:

  • PostgreSQL
  • MySQL/MariaDB

Every images include the latest version of composer installed at /usr/bin/composer and the latest version of the Symfony CLI installed at /usr/local/bin/symfony.

List of PHP extensions installed:

Extension / PHP version 7.1 7.2 7.3 7.4 8.0
mbstring
zip
iconv
opcache
bcmath
pdo_mysql (mysql/mariadb) / pdo_pgsql (postgresql)
pdo
imagick
sockets
xdebug (2.6.1 for PHP 7.1 and 7.2 / 2.7.1 for PHP 7.3 / 2.9.0 for PHP 7.4 / 3.0.4 for PHP 8.0)
gd
soap
mcrypt
oci8
redis

Examples

Docker run

$ docker run -it -v $(pwd):/app jsunier/php-symfony-test:php7.4-mysql /bin/bash

Default configurations

Default value in Dockerfile's directives:

Directive Value
WORKDIR /app
VOLUME [ "/app" ]
CMD [ "/app/bin/console" ]

Architectures available

Images are compiled for these architectures:

  • amd64

Build

There is a Makefile available to simplify the creation of theses images.

You can change the values inside this file to set your custom repository, folders, tags, etc.

You need to have make installed (sudo apt install make)

Pull all latest source images

$ make pull-php

All at once

$ make all

Build all (mysql/postgresql)

$ make build

Build images with MySQL/MariaDB support

$ make build-mysql
$ make push-mysql

Build images with PostgreSQL support

$ make build-postgresql
$ make push-postgresql

Specific container

To build these images, just go into the folder of you choice and run docker build . -t <your-image-name:your-tag>.

Example:

# cd php8.0/mysql
# docker build . -t my-awesome-phpunit-image