Docker images with php and composer inside

continuous integration

Images can be found on docker hub

Supported versions

  • php 8.3.6
  • php 8.2.18
  • php 8.1.28
  • php 8.0.30 (latest)
  • php 7.4.33
    • rdkafka 6.0.3
    • timecop 1.2.10
  • php 7.3.33
    • rdkafka 6.0.3
    • timecop 1.2.10
  • php 7.2.34
    • rdkafka 6.0.3
    • timecop 1.2.10

All images includes:

  • composer 2.7.6
  • xdebug 3.3.2
  • zsh, that allowed using oh-my-zsh and its plugins for improving user experience.

Build

To build container just use one of these commands:

make build-72
make build-73
make build-74
make build-80
make build-81
make build-82
make build-83

Run

After making image run

docker run -it --rm -v `pwd`:/var/www/project -w /var/www/project --user=1000 php-for-dev:M.m sh

where replace M with major, and m with minor php version.

Using oh-my-zsh from local machine

To use already installed oh-my-zsh inside docker container we should pass couple volumes and environment variables:

  • -v .zshrc:/home/user/.zshrc - configuration file for zsh
  • -v .oh-my-zsh:/home/user/oh-my-zsh - directory with installed oh-my-zsh
  • -e HOME=/home/user - define user home directory

Full run command would be looks like

docker run -it --rm \
    -v `pwd`:/var/www/project \
    -v .zshrc:/home/user/.zshrc \
    -v .oh-my-zsh:/home/user/oh-my-zsh \
    -e HOME=/home/user \
    -w /var/www/project \
    --user=1000 php-for-dev:M.m zsh
Description
Dockerized php-cli for simplified usage for local development
Readme 254 KiB
Languages
Dockerfile 90.3%
Makefile 9.7%