opened image

Как развернуть любую версию PHP в Docker-Compose

Docker и Docker Compose являются мощными инструментами для развертывания и управления контейнерами. В этой статье мы рассмотрим, как развернуть любую версию PHP с использованием Docker-Compose, что особенно полезно для разработчиков и системных администраторов. Мы покажем вам пошаговый процесс развертывания PHP с использованием Docker и Docker Compose.

 

  1. Установка Docker и Docker Compose

Прежде всего, вам необходимо установить Docker и Docker Compose на свою систему. Вы можете установить Docker, следуя инструкциям в статье Как установить PostgreSQL и pgAdmin в Docker и подобным на нашем сайте. 

 

  1. Создание проекта

Создайте новую папку для вашего проекта и перейдите в нее:

mkdir my-php-project
cd my-php-project

 

  1. Создание файла 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.

 

  1. Создание файла 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.

 

  1. Сборка и запуск контейнеров

Чтобы собрать и запустить контейнеры, выполните следующую команду в терминале:

docker-compose up --build -d

 

 

Эта команда соберет образ PHP из вашего Dockerfile, скачает образ MySQL и запустит оба контейнера в фоновом режиме. После выполнения этой команды, контейнеры будут работать и доступны для использования.

 

  1. Проверка работы контейнеров

Чтобы проверить, что контейнеры успешно запущены и работают, выполните следующую команду:

docker-compose ps

 

Вы должны увидеть список запущенных контейнеров и их статусы. Если все в порядке, вы увидите, что оба контейнера работают.

 

  1. Создание PHP-файла для тестирования

Теперь, когда наши контейнеры работают, давайте создадим простой PHP-файл для проверки работы нашей конфигурации. В папке проекта создайте файл с именем index.php и вставьте следующий код:

<?php
phpinfo();

 

 

  1. Доступ к PHP-файлу через браузер

Чтобы получить доступ к вашему PHP-файлу через браузер, вам необходимо узнать IP-адрес вашег севрера. Выполните следующую команду:

 
ip a

 

Вам будет предоставлен IP-адрес вашего сервера. Введите этот IP-адрес в адресной строке браузера, и порт 9900 и вы должны увидеть информацию о версии PHP, которую вы установили.

http://your_ip:9900/index.php

 

 

 

Заключение

В этой статье мы рассмотрели, как развернуть любую версию PHP с использованием Docker-Compose. Теперь вы можете легко настроить и использовать различные версии PHP для ваших проектов, что может существенно упростить процесс разработки и управления окружениями. Следуйте этим простым шагам, и вы сможете успешно развернуть PHP в контейнере Docker.

Также предлагаем рассмотреть другие полезные статьи: