Docker Compose для WordPress: готовый стек для локальной разработки
Введение в Docker Compose для WordPress
Локальная разработка WordPress-проектов требует настройки окружения, включающего веб-сервер, базу данных и другие сервисы. Docker Compose упрощает этот процесс, позволяя описать и запустить многоконтейнерное приложение с помощью одного файла.
Преимущества Docker Compose для локальной разработки
Использование Docker Compose для WordPress-проектов дает несколько преимуществ:
- Изоляция проекта от других приложений и системных настроек
- Легкость настройки и масштабирования окружения
- Возможность использования разных версий PHP, MySQL и других сервисов
Структура проекта
Наш проект будет включать следующие сервисы:
- Nginx в качестве веб-сервера
- PHP-FPM для обработки PHP-кода
- MariaDB как базу данных
- Redis для кэширования
- MailHog для перехвата и тестирования почтовых рассылок
Настройка docker-compose.yml
Создайте файл docker-compose.yml в корне вашего проекта и добавьте следующий код:
version: '3' services: nginx: image: nginx:latest ports: - "80:80" volumes: -./nginx.conf:/etc/nginx/nginx.conf:ro -./wordpress:/var/www/html depends_on: - php - mariadb php: build:. volumes: -./wordpress:/var/www/html depends_on: - mariadb mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress volumes: - mariadb-data:/var/lib/mysql redis: image: redis:latest mailhog: image: mailhog/mailhog:latest ports: - "8025:8025" volumes: mariadb-data: Настройка Nginx и PHP-FPM
Создайте файл nginx.conf и добавьте конфигурацию Nginx:
server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?_share=; } location ~ .php$ { try_files $uri =404; fastcgi_pass php:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } Для PHP-FPM создайте Dockerfile в корне проекта:
FROM php:fpm RUN apt-get update && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng-dev RUN docker-php-ext-install -j$(nproc) pdo_mysql Запуск проекта
После настройки всех файлов, запустите проект командой docker-compose up -d. Теперь вы можете открыть WordPress в браузере по адресу http://localhost.
Дополнительную информацию о настройке безопасности WordPress вы можете найти в нашей статье о безопасности REST API WordPress. Для общего понимания WordPress рекомендуем ознакомиться с нашим полным руководством по освоению WordPress. Если вас интересует оптимизация производительности, посмотрите статью о том, как ускорить WordPress с помощью NGINX FastCGI Cache.
📚 Читайте также:
❓ Часто задаваемые вопросы
Что такое Docker Compose?
Docker Compose — это инструмент для определения и запуска многоконтейнерных Docker-приложений.
Зачем использовать Docker для WordPress?
Docker обеспечивает изоляцию проекта, легкость настройки и масштабирования окружения, а также возможность использования разных версий сервисов.
Как настроить почтовые рассылки в WordPress с Docker?
Для перехвата и тестирования почтовых рассылок используется MailHog, который включается в docker-compose.yml.
Можно ли использовать другую базу данных вместо MariaDB?
Да, можно использовать MySQL или PostgreSQL, изменив соответствующую секцию в docker-compose.yml.