
Узнайте, как запустить установку WordPress в контейнерах Docker как вручную, так и с помощью Docker Compose. Разработчикам WordPress будет полезно развертывать WordPress в контейнерах Docker. Docker позволяет тестировать несколько конфигураций WordPress и запускать свежую установку WordPress с помощью нескольких простых команд.
Требования
- Сервер под управлением CentOS 7 или Ubuntu 14.04.
- Установленные и запущенные веб-сервисы.
- Установленный и запущенный Docker.
- Базовые знания об использовании и командах Docker.
- Необязательно: Базовое понимание Docker Compose.
Запуск WordPress в контейнерах Docker
Успешная установка WordPress состоит из трех элементов:
-
Программное обеспечение WordPress
-
база данных MySQL или MariaDB
-
Заключительные шаги установки, которые выполняются в браузере.
В следующих примерах компоненты WordPress и MySQL/MariaDB будут работать в отдельных связанных контейнерах. Контейнер, в котором запущено программное обеспечение WordPress, будет сопоставлен с портом на хосте, что позволит вам получить доступ к нему через браузер.
Запуск контейнера MySQL/MariaDB
Сначала запустите контейнер с именем my-db с паролем root mysql-password. Вы можете использовать либо MySQL, либо MariaDB, которая является универсальной заменой MySQL.
Обязательно измените пароль db-password на надежный пароль.
MySQL
Запустите контейнер с помощью команды:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=db-password -d mysql
MariaDB
Запустите контейнер с помощью команды:
sudo docker run --name my-db -e MYSQL_ROOT_PASSWORD=db-password -d mariadb
Запустить контейнер WordPress
Далее запустите контейнер из официального образа WordPress, который сопоставлен с портом хоста 8080 и связан с контейнером базы данных.
Два примечания:
- Если у вас есть брандмауэр, вам может понадобиться добавить доступ к порту 8080.
- Если на порту 8080 уже работает другая служба, вы можете выбрать другой порт на хосте.
Команда будет немного отличаться в зависимости от того, используете ли вы MySQL или MariaDB:
MySQL
Запустите контейнер WordPress с помощью команды:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mysql -d wordpress
MariaDB
Запустите контейнер WordPress с помощью команды:
sudo docker run --name my-wordpress -p 8080:80 --link my-db:mariadb -d wordpress
Существует множество других переменных окружения, которые можно добавить к этой команде, если вы хотите отменить значения по умолчанию, включая:
- -e WORDPRESS_DB_HOST=[имя хоста] По умолчанию это IP-адрес и порт связанного контейнера MySQL/MariaDB. Вы можете использовать эту переменную для доступа к базе данных MySQL/MariaDB на другом сервере.
- -e WORDPRESS_DB_USER=[имя пользователя] По умолчанию это root.
- -e WORDPRESS_DB_PASSWORD=[пароль] По умолчанию используется переменная окружения MYSQL_ROOT_PASSWORD связанного контейнера MySQL/MariaDB.
- -WORDPRESS_DB_NAME=[имя] По умолчанию используется «wordpress».
Завершение установки в браузере
Для последних шагов установки вам потребуется получить доступ к контейнеру WordPress через браузер.
В предыдущем примере мы сопоставили порт 8080 на хосте с портом 80 (веб-сервисы) на контейнере. Это позволит вам получить доступ к контейнеру в браузере, используя либо IP-адрес, либо URL-адрес сервера:
- http://192.168.0.1:8080
- http://example.com:8080
Перейдите по URL-адресу в браузере, выберите язык установки и нажмите кнопку Продолжить.

На следующей странице заполните поля.

- Название сайта: Заполните название вашего сайта.
- Имя пользователя: Это будет основное административное имя пользователя для вашего сайта. Примечание: в целях безопасности мы рекомендуем вам НЕ использовать для этого имени пользователя «Admin», название или URL вашего сайта.
- Пароль: запишите этот пароль, прежде чем продолжить.
- Ваш адрес электронной почты: Это будет адрес электронной почты для основного административного имени пользователя.
Затем нажмите кнопку Install WordPress, чтобы завершить установку.
Использование Docker Compose для запуска WordPress
Запустить установку WordPress с помощью Docker Compose очень просто. Информацию об установке и использовании Docker Compose можно найти в нашей статье Docker: Оркестровка многоконтейнерных приложений с помощью Swarm и Compose.
Создание YAML-файла
Сначала создайте каталог для вашего проекта и перейдите в него:
sudo mkdir wordpress
cd wordpress
Создайте YAML-файл с именем docker-compose.yml с помощью команды:
sudo nano docker-compose.yml
Содержимое файла будет немного отличаться в зависимости от того, используете ли вы MySQL или MariaDB:
MySQL
Поместите в файл следующее:
wordpress:
image: wordpress
links:
- wordpress_db:mysql
ports:
- 8080:80
wordpress_db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: db-password
Обязательно измените пароль db-password на надежный пароль.
Сохраните и выйдите из файла.
MariaDB
Поместите в файл следующее:
wordpress:
image: wordpress
links:
- wordpress_db:mariadb
ports:
- 8080:80
wordpress_db:
image: mariadb
environment:
MYSQL_ROOT_PASSWORD: db-password
Обязательно измените db-password на надежный пароль.
Сохраните и выйдите из файла.
Запуск контейнеров
Далее используйте Docker Compose для запуска этих контейнеров с помощью команды:
sudo docker-compose up -d
Вы можете убедиться, что контейнеры были созданы, используя команду:
sudo docker-compose ps