Docker PHP: 5.3, 5.4, 5.6, 7.0
Современные сайты используют последнюю версию PHP и с их установкой, едва ли могут возникнуть проблемы. Но что делать, если нужно запустить на сервере старый код, который не работает в новых версиях PHP. Здесь на помощь приходит Docker, позволяющий запустить нужную PHP версию в отдельном контейнере.
В данном материале представлены различные сборки PHP, которые я использую в своих проектах.
PHP 5.3
https://hub.docker.com/repository/docker/brahman/php53am
Сборка включает:
- PHP 5.3
- GD
- APC
- Memcached
- sSMTP
Команда запуска:
docker run --name=php53am --restart=always -d -v /var/www:/var/www -v /var/docker/php53am/php.ini:/etc/php5/fpm/php.ini --add-host smtp-server:172.17.0.1 --add-host mysql-server:172.17.0.1 -p 9000:9000 brahman/php53am
В настройках запуска вы можете указать:
- -v /var/www:/var/www — путь к папке с файлами проекта;
- -v /var/docker/php53am/php.ini:/etc/php5/fpm/php.ini — путь к ini файлу;
- —add-host smtp-server:172.17.0.1 — адрес сервера рассылки почты;
- —add-host mysql-server:172.17.0.1 — адрес сервера базы данных. Обычно это локальный адрес самого сервера.
- -p 9000:9000 — порт, по которому можно подключиться к PHP.
PHP 5.4
https://hub.docker.com/repository/docker/brahman/php54
Сборка включает:
- PHP 5.4
- GD
- APC
- Memcached
- sSMTP
Команда запуска:
docker run --name=php54 --restart=always -d -v /var/www:/var/www --add-host smtp-server:172.17.0.1 --add-host mysql:172.17.0.1 -p 9000:9000 brahman/php54
PHP 5.6
https://hub.docker.com/repository/docker/brahman/php56
Сборка включает:
- PHP 5.6
- GD
- Opcache
- Memcached
- sSMTP
Команда запуска:
docker run --name=php56 --restart=always -d -v /var/www:/var/www --add-host smtp-server:172.17.0.1 --add-host mysql:172.17.0.1 -p 9000:9000 brahman/php56
PHP 7.0
https://hub.docker.com/repository/docker/brahman/php7
Сборка включает:
- PHP 7.0
- GD
- Opcache
- sSMTP
- Mysqli
Команда запуска:
docker run --name=php7 --restart=always -d -v /var/www:/var/www -v /var/log/mail.log:/var/log/mail.log -v /var/log/nginx:/var/log/nginx --add-host smtp-server:172.17.0.1 --add-host inet-site.ru:172.17.0.1 -p 9000:9000 brahman/php7
Все сборки включают исходный Dockerfile и ссылки на открытые репозитории, что позволяет настроить конкретный PHP контейнер с учётом вашей специфики использования.
I’m a fan of your work.
Your writing is top-notch.
Utmerket stykke! Din grundige oppsummering er sterkt verdsatt. Jeg ser nå saken fra en annen vinkel takket være dine innsiktsfulle kommentarer. Du gjorde dine poeng veldig tydelige med eksemplene du inkluderte. Jeg er takknemlig for at du skrev dette.