Files
php-for-dev/readme.md
2024-08-25 20:06:38 +07:00

1.8 KiB

Docker images with php and composer inside

continuous integration

Images can be found on docker hub

Supported versions

  • php 8.3.10
  • php 8.2.22
  • php 8.1.29
  • php 8.0.30 (latest)
  • php 7.4.33
    • xdebug 3.1.6
    • rdkafka 6.0.3
    • timecop 1.2.10
  • php 7.3.33
    • xdebug 3.1.6
    • rdkafka 6.0.3
    • timecop 1.2.10
  • php 7.2.34
    • xdebug 3.1.6
    • rdkafka 6.0.3
    • timecop 1.2.10

All images includes:

  • composer 2.7.6
  • xdebug 3.3.2 (except 7.x)
  • 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