Как развернуть локальный сайт на WordPress через Docker и работать с ним


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

Что нам понадобится

  1. Docker — контейнеризатор, который нужно установить на ваш компьютер (скачать можно с официального сайта).
  2. Docker Compose — инструмент для управления несколькими контейнерами (обычно устанавливается вместе с Docker).
  3. Текстовый редактор (например, VS Code) для создания конфигурационного файла.

Шаг 1: Установите Docker

Если у вас еще нет Docker, скачайте и установите его:

  • Для Windows/Mac: используйте Docker Desktop.
  • Для Linux: следуйте инструкциям для вашей дистрибуции.

После установки проверьте, что всё работает, выполнив в терминале:

docker --version
docker-compose --version

Шаг 2: Создайте проект

  1. Создайте папку для вашего проекта, например, wordpress-local.
  2. Перейдите в эту папку через терминал:
   cd wordpress-local

Шаг 3: Настройте Docker Compose

Создайте файл docker-compose.yml в папке проекта и добавьте следующий код:

version: '3'
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - "8080:80"
    restart: always
    volumes:
      - wordpress_data:/var/www/html
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress

volumes:
  db_data:
  wordpress_data:

Этот файл описывает два сервиса:

  • MySQL (база данных для WordPress).
  • WordPress (сам сайт).

Шаг 4: Запустите контейнеры

В терминале в папке с docker-compose.yml выполните:

docker-compose up -d
  • Флаг -d запускает контейнеры в фоновом режиме.
  • Docker скачает образы MySQL и WordPress, настроит их и запустит.

Шаг 5: Проверьте работу сайта

Откройте браузер и перейдите по адресу http://localhost:8080. Вы увидите стандартную страницу установки WordPress. Следуйте инструкциям:

  1. Выберите язык.
  2. Введите данные базы данных (они уже настроены в docker-compose.yml):
  • Имя базы: wordpress
  • Имя пользователя: wordpress
  • Пароль: wordpress
  • Хост: db
  1. Завершите установку, создав администратора сайта.

Шаг 6: Работайте с сайтом

Теперь у вас есть полностью рабочий WordPress. Вы можете:

  • Устанавливать темы и плагины через админ-панель (http://localhost:8080/wp-admin).
  • Редактировать файлы сайта в папке wordpress_data, которая автоматически создаётся в вашей директории проекта.

Как остановить и удалить

  • Остановить контейнеры:
  docker-compose stop
  • Удалить контейнеры и данные (если нужно начать с нуля):
  docker-compose down -v

Почему это удобно?

  1. Простота настройки: Не нужно устанавливать и настраивать Apache, PHP, MySQL вручную — Docker делает всё за вас.
  2. Изоляция: Каждый проект работает в своём контейнере, избегая конфликтов версий или настроек.
  3. Кроссплатформенность: Один и тот же docker-compose.yml работает на Windows, Mac и Linux.
  4. Быстрое развертывание: Запуск занимает минуты, а не часы.
  5. Лёгкость масштабирования: Можно быстро добавить дополнительные сервисы (например, phpMyAdmin) в docker-compose.yml.
  6. Повторяемость: Вы можете делиться конфигурацией с коллегами или переносить её на другой компьютер без изменений.

Дополнительно: phpMyAdmin (опционально)

Если хотите управлять базой данных через интерфейс, добавьте в docker-compose.yml:

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "8081:80"
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: somewordpress

Запустите docker-compose up -d снова, и phpMyAdmin будет доступен по адресу http://localhost:8081.


Теперь у вас есть локальная среда WordPress, готовая для разработки, тестирования или обучения. Docker делает процесс удобным и современным, экономя время и нервы. Попробуйте — и убедитесь сами!