---
title: 'Как развернуть любую версию PHP в Docker-Compose | Zomro'
description: 'В этой статье мы рассмотрим, как развернуть любую версию PHP с использованием Docker-Compose, что особенно полезно для разработчиков и системных администраторов.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235047-1.jpg'
---

![opened image]()

  * [Zomro](https://zomro.com/rus/)
  * [FAQ](https://zomro.com/rus/blog/faq/)
  * Как развернуть любую версию PHP в Docker-Compose 



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

30-06-2023

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

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




Прежде всего, вам необходимо установить Docker и Docker Compose на свою систему. Вы можете установить Docker, следуя инструкциям в статье [Как установить PostgreSQL и pgAdmin в Docker](https://zomro.com/rus/blog/faq/283-kak-ustanovit-postgresql-i-pgadmin-v-docker) и подобным на нашем сайте. 

  2. ## **Создание проекта**




Создайте новую папку для вашего проекта и перейдите в нее:
    
    
    mkdir my-php-project
    cd my-php-project

  3. ## **Создание файла Dockerfile**




Внутри папки проекта создайте файл с именем **`Dockerfile`**. Этот файл будет содержать инструкции для сборки образа Docker с нужной версией PHP.
    
    
    vim Dockerfile

Внутри файла вставьте следующий код, заменив `7.4` на нужную версию PHP:
    
    
    FROM php:7.4-apache
    
    RUN docker-php-ext-install pdo_mysql

![Как развернуть любую версию PHP в Docker-Compose - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235047-1.jpg)

Этот код указывает Docker использовать официальный образ PHP версии **7.4 с Apache**. Затем он устанавливает расширение **`pdo_mysql`** для работы с MySQL.

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

![Как развернуть любую версию PHP в Docker-Compose - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235148-2.jpg)

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




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

![Как развернуть любую версию PHP в Docker-Compose - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235207-3.jpg)

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

  6. ### **Проверка работы контейнеров**




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

![Как развернуть любую версию PHP в Docker-Compose - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235216-4.jpg)

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

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




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

![Как развернуть любую версию PHP в Docker-Compose - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235234-5.jpg)

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




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

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

![Как развернуть любую версию PHP в Docker-Compose - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a48%40server-panel.net/2023/07/02/image-20230702235259-6.jpg)

**Заключение**

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

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

  * [Список важных команд для работы с Docker-compose](https://zomro.com/rus/blog/faq/304-spisok-vazhnyh-komand-dlja-raboty-s-docker-compose)
  * [Как развернуть Python приложение в Docker-Compose](https://zomro.com/rus/blog/faq/476-how-to-deploy-a-python-application-to-docker-compose)
  * [Как установить Nginx в Docker-Compose](https://zomro.com/rus/blog/faq/317-kak-ustanovit-nginx-v-docker-compose)






Похожие статьи

[Как поднять OpenSSH на Windows 2012](https://zomro.com/rus/blog/faq/399-kak-podnyat-openssh-na-windows-2012) [ISP: Как установить nginx и включить для домена сжатие и кэширование](https://zomro.com/rus/blog/faq/77-isp-kak-ustanovit-nginx-i-vklyuchit-dlya-domena-szhatie-i-keshirovanie) [Как установить MariaDB 10.8 в CentOS 7 или сделать upgrade с mysql 5.7](https://zomro.com/rus/blog/faq/255-kak-ustanovit-mariadb-108-v-centos-7-ili-sdelat-upgrade-s-mysql-57) [Как добавить домен в DNS-хостинг](https://zomro.com/rus/blog/faq/87-kak-dobavit-domen-v-dns-hosting) [Как установить и настроить fail2ban в Centos 7](https://zomro.com/rus/blog/faq/366-how-to-install-and-configure-fail2ban-in-centos-7)

[ Сервер для Forex от €7.95/мес ](/rus/server-for-forex)
