Как запустить WordPress в разработке на localhost с использованием Docker

Для современных разработчиков WordPress важно иметь удобную, изолированную и воспроизводимую локальную среду разработки. Docker — отличный инструмент для этого, позволяющий быстро развернуть WordPress с нужной версией PHP, MySQL и другими сервисами без необходимости устанавливать их напрямую на компьютер.

Почему стоит использовать Docker для локальной разработки WordPress

Традиционно локальная разработка WordPress требует установки веб-сервера (например, Apache или nginx), PHP и СУБД (обычно MySQL или MariaDB). Это может привести к конфликтам версий, трудностям с настройкой и проблемам с переносимостью проектов.

Docker решает эти проблемы, упаковывая все необходимые сервисы в контейнеры. Вы можете запускать и останавливать окружение за секунды, а конфигурация хранится в файлах, что облегчает совместную работу и интеграцию с CI/CD.

Кроме того, Docker позволяет использовать разные версии PHP и MySQL для разных проектов, что важно при поддержке старых сайтов или тестировании новых фич.

Создание локальной среды WordPress с помощью docker-compose

Самый простой способ — использовать docker-compose для описания сервисов и их взаимосвязей. Ниже пример файла docker-compose.yml, который поднимает WordPress с MySQL и phpMyAdmin для удобного управления базой данных:

version: '3.8'

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "8000:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpbuy_user
      WORDPRESS_DB_PASSWORD: wpbuy_pass
      WORDPRESS_DB_NAME: wpbuy_db
    volumes:
      - ./wp-content:/var/www/html/wp-content
    depends_on:
      - db

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: wpbuy_db
      MYSQL_USER: wpbuy_user
      MYSQL_PASSWORD: wpbuy_pass
      MYSQL_ROOT_PASSWORD: root_pass
    volumes:
      - db_data:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "8080:80"
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: root_pass
    depends_on:
      - db

volumes:
  db_data:

Что здесь происходит:

  • wordpress — сам сайт, доступный на http://localhost:8000. Важный момент — папка ./wp-content монтируется в контейнер, чтобы сохранять темы, плагины и медиафайлы локально.
  • db — контейнер с MySQL 5.7 (одна из рекомендуемых версий для WordPress). Данные базы хранятся в volume db_data, чтобы не потерять их при пересоздании контейнера.
  • phpmyadmin — удобный веб-интерфейс для управления базой данных, доступен на http://localhost:8080.

Запуск и первоначальная настройка

Для запуска локальной среды нужно выполнить в терминале команду:

docker-compose up -d

Опция -d запускает контейнеры в фоне. После этого зайдите в браузере на http://localhost:8000 и пройдите стандартную установку WordPress, указав базу данных с параметрами из docker-compose.yml:

  • Имя базы данных: wpbuy_db
  • Пользователь: wpbuy_user
  • Пароль: wpbuy_pass
  • Хост базы данных: db

Если хотите подключиться к базе напрямую, зайдите на http://localhost:8080, используя пользователя root и пароль root_pass.

Дополнительные настройки и советы для wpbuy.ru

Использование собственных тем и плагинов

Папка ./wp-content монтируется в контейнер, поэтому можно разрабатывать темы и плагины локально, и изменения сразу будут видны на сайте. Это удобно для интеграции с редакторами кода и системами контроля версий.

Кэширование и отладка

Для разработки полезно включить WP_DEBUG и логирование ошибок. Это можно сделать через файл wp-config.php в папке ./wp-content или через дополнительный volume, если хотите хранить его отдельно.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Также можно добавить в docker-compose сервис с Xdebug для отладки PHP-кода, что особенно полезно при разработке сложных плагинов или тем.

Резервное копирование базы и файлов

Так как база хранится в volume, для сохранения данных рекомендуем регулярно делать бэкапы командой:

docker exec -t wpbuy_db_1 mysqldump -u wpbuy_user -pwpbuy_pass wpbuy_db > backup.sql

Где wpbuy_db_1 — имя контейнера базы, которое можно узнать командой docker ps.

Пример кастомного скрипта wpbuy для автоматического запуска среды

Для удобства можно создать скрипт wpbuy-start.sh в корне проекта:

#!/bin/bash

docker-compose up -d

echo "WordPress локальная среда запущена."
echo "Доступно на http://localhost:8000"
echo "phpMyAdmin на http://localhost:8080"

Не забудьте сделать его исполняемым командой chmod +x wpbuy-start.sh. После этого запуск будет проще — достаточно в терминале выполнить ./wpbuy-start.sh.

Заключение

Использование Docker для локальной разработки WordPress — это современный, удобный и гибкий способ создавать и тестировать сайты без влияния на основную систему. Вы получаете полностью изолированную среду с контролем версий сервисов и возможностью быстро масштабировать или переносить проекты.

Реализуйте предложенный docker-compose.yml и скрипты, чтобы максимально ускорить и упростить рабочий процесс на wpbuy.ru. Это особенно полезно при разработке собственных плагинов, тем и интеграций.

Для расширения возможностей можно дополнительно подключать сервисы кеширования (Redis, Memcached), инструменты анализа кода и автоматического тестирования.

Как использовать WPRemark для автоматического модерирования комментариев в WordPress
14.02.2026
Авто удаление спама в комментариях WordPress: лучшие практики и примеры кода
31.01.2026
Как создать многоуровневую навигацию в WordPress с поддержкой AJAX
04.01.2026
Как создать динамические поля в формах WordPress с помощью AJAX
28.01.2026
Автоматическое отключение неактивных товаров в WooCommerce
20.04.2026