Docker и Docker Compose являются мощными инструментами для развертывания и управления контейнерами. В этой статье мы рассмотрим, как развернуть любую версию PHP с использованием Docker-Compose, что особенно полезно для разработчиков и системных администраторов. Мы покажем вам пошаговый процесс развертывания PHP с использованием Docker и Docker Compose.
- Установка Docker и Docker Compose
Прежде всего, вам необходимо установить Docker и Docker Compose на свою систему. Вы можете установить Docker, следуя инструкциям в статье Как установить PostgreSQL и pgAdmin в Docker и подобным на нашем сайте.
- Создание проекта
Создайте новую папку для вашего проекта и перейдите в нее:
mkdir my-php-project
cd my-php-project
- Создание файла Dockerfile
Внутри папки проекта создайте файл с именем Dockerfile
. Этот файл будет содержать инструкции для сборки образа Docker с нужной версией PHP.
vim Dockerfile
Внутри файла вставьте следующий код, заменив 7.4
на нужную версию PHP:
FROM php:7.4-apache
RUN docker-php-ext-install pdo_mysql
Этот код указывает Docker использовать официальный образ PHP версии 7.4 с Apache. Затем он устанавливает расширение pdo_mysql
для работы с MySQL.
- Создание файла docker-compose.yml
Создайте файл с именем docker-compose.yml
в папке проекта. Этот файл будет содержать конфигурацию для запуска контейнеров с PHP и MySQL. Внутри файла вставьте следующий код:
version: '3.8'
services:
php:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www/html
ports:
- 9900:80
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: mydatabase
MYSQL_USER: myuser
MYSQL_PASSWORD: mypassword
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:
В этой конфигурации определены два сервиса: php
и mysql
. Сервис php
использует образ, собранный из файла Dockerfile
, а сервис mysql
использует официальный образ MySQL версии 5.7. Здесь также указаны параметры окружения и тома для сохранения данных MySQL.
- Сборка и запуск контейнеров
Чтобы собрать и запустить контейнеры, выполните следующую команду в терминале:
docker-compose up --build -d
Эта команда соберет образ PHP из вашего Dockerfile
, скачает образ MySQL и запустит оба контейнера в фоновом режиме. После выполнения этой команды, контейнеры будут работать и доступны для использования.
- Проверка работы контейнеров
Чтобы проверить, что контейнеры успешно запущены и работают, выполните следующую команду:
docker-compose ps
Вы должны увидеть список запущенных контейнеров и их статусы. Если все в порядке, вы увидите, что оба контейнера работают.
- Создание PHP-файла для тестирования
Теперь, когда наши контейнеры работают, давайте создадим простой PHP-файл для проверки работы нашей конфигурации. В папке проекта создайте файл с именем index.php
и вставьте следующий код:
<?php
phpinfo();
- Доступ к PHP-файлу через браузер
Чтобы получить доступ к вашему PHP-файлу через браузер, вам необходимо узнать IP-адрес вашег севрера. Выполните следующую команду:
ip a
Вам будет предоставлен IP-адрес вашего сервера. Введите этот IP-адрес в адресной строке браузера, и порт 9900 и вы должны увидеть информацию о версии PHP, которую вы установили.
http://your_ip:9900/index.php
Заключение
В этой статье мы рассмотрели, как развернуть любую версию PHP с использованием Docker-Compose. Теперь вы можете легко настроить и использовать различные версии PHP для ваших проектов, что может существенно упростить процесс разработки и управления окружениями. Следуйте этим простым шагам, и вы сможете успешно развернуть PHP в контейнере Docker.